[java]int、long互轉byte碼

可作為編碼/ 解碼之用
參考來自:http://lionbule.iteye.com/blog/936600

    public static byte[] int2bytes(int i) {
        byte[] b = new byte[4];
        b[0] = (byte) (0xff&i);
        b[1] = (byte) ((0xff00&i) >> 8);
        b[2] = (byte) ((0xff0000&i) >> 16);
        b[3] = (byte) ((0xff000000&i) >> 24);
        return b;
    }
    public static int bytes2int(byte[] bytes) {
	int num = bytes[0] & 0xFF;
	num |= ((bytes[1] << 8) & 0xFF00);
	num |= ((bytes[2] << 16) & 0xFF0000);
	num |= ((bytes[3] << 24) & 0xFF000000);
	return num;
    }
    public static long bytes2long(byte[] b) {
	long temp = 0;
	long res = 0;
	for (int i=0;i<8;i++) {
	    res <<= 8;
	    temp = b[i] & 0xff;
	    res |= temp;
	}
	return res;
    }
    public static byte[] long2bytes(long num) {
	byte[] b = new byte[8];
	for (int i=0;i<8;i++) {
	    b[i] = (byte)(num>>>(56-(i*8)));
	}
	return b;
    }
廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s