long -> byte array
public static byte[] toByte(long data) {
return new byte[] {
(byte)((data >> 56) & 0xff),
(byte)((data >> 48) & 0xff),
(byte)((data >> 40) & 0xff),
(byte)((data >> 32) & 0xff),
(byte)((data >> 24) & 0xff),
(byte)((data >> 16) & 0xff),
(byte)((data >> 8) & 0xff),
(byte)((data >> 0) & 0xff),
};
}
return new byte[] {
(byte)((data >> 56) & 0xff),
(byte)((data >> 48) & 0xff),
(byte)((data >> 40) & 0xff),
(byte)((data >> 32) & 0xff),
(byte)((data >> 24) & 0xff),
(byte)((data >> 16) & 0xff),
(byte)((data >> 8) & 0xff),
(byte)((data >> 0) & 0xff),
};
}
long array -> byte array
public static byte[] toByte(long[] data) {
if (data == null)
return null;
if (data == null)
return null;
byte[] bytes = new byte[data.length * 8];
for (int i = 0; i < data.length; i++)
System.arraycopy(toByte(data[i]), 0, bytes, i * 8, 8);
return bytes;
}
byte array -> long
public static long toLong(byte[] data) {
if (data == null || data.length != 8)
return 0x0;
return (long)((long)(0xff & data[0]) << 56 |
(long)(0xff & data[1]) << 48 |
(long)(0xff & data[2]) << 40 |
(long)(0xff & data[3]) << 32 |
(long)(0xff & data[4]) << 24 |
(long)(0xff & data[5]) << 16 |
(long)(0xff & data[6]) << 8 |
(long)(0xff & data[7]) << 0 );
}
if (data == null || data.length != 8)
return 0x0;
return (long)((long)(0xff & data[0]) << 56 |
(long)(0xff & data[1]) << 48 |
(long)(0xff & data[2]) << 40 |
(long)(0xff & data[3]) << 32 |
(long)(0xff & data[4]) << 24 |
(long)(0xff & data[5]) << 16 |
(long)(0xff & data[6]) << 8 |
(long)(0xff & data[7]) << 0 );
}
'Java' 카테고리의 다른 글
| 문자열 비교 안전하게 하기 (0) | 2009/06/23 |
|---|---|
| BufferedOutputStream vs BufferedWriter (2) | 2009/06/19 |
| Convert long, long[] with byte array (1) | 2008/11/07 |
| class file has wrong version 50.0, should be 4x.0 (0) | 2008/10/23 |
| Get and put unsigned values to a ByteBuffer (0) | 2008/10/07 |