SJAVA :: HTTP://WWW.SJAVA.NET

관리자 | 글쓰기

SJAVA :: HTTP://WWW.SJAVA.NET » java

Convert long, long[] with byte array

mcsong | 2008/11/07 17:19

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),
   };
 }

long array -> byte array

public static byte[] toByte(long[] data) {
  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 );
 }
이올린에 북마크하기(0) 이올린에 추천하기(0)


(go to top)

◀ recent | 1 | ... 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | ... 160 | previous ▶