1 Arrays.copyOfRange(buff,fromIndex,toIndex) 返回byte[] 数组
2 String str=new String(buff,"GBK");
public final class BitConverterBE
{
public static long ToUInt64(byte[] value, int startIndex)
{
return
((long)(value[startIndex]&0xFF) << 56) |
((long)(value[startIndex + 1]&0xFF) << 48) |
((long)(value[startIndex + 2]&0xFF) << 40) |
((long)(value[startIndex + 3]&0xFF) << 32) |
((long)(value[startIndex + 4]&0xFF) << 24) |
((long)(value[startIndex + 5]&0xFF) << 16) |
((long)(value[startIndex + 6]&0xFF) << 8) |
((long)(value[startIndex + 7]&0xFF));
}
public static long ToInt64(byte[] value, int startIndex)
{
return
((long)(value[startIndex]&0xFF) << 56) |
((long)(value[startIndex + 1]&0xFF) << 48) |
((long)(value[startIndex + 2]&0xFF) << 40) |
((long)(value[startIndex + 3]&0xFF) << 32) |
((long)(value[startIndex + 4]&0xFF) << 24) |
((long)(value[startIndex + 5]&0xFF) << 16) |
((long)(value[startIndex + 6]&0xFF) << 8) |
((long)(value[startIndex + 7]&0xFF));
}
public static long ToUInt32(byte[] value, int startIndex)
{
return
((long)(value[startIndex]&0xFF) << 24) |
((long)(value[startIndex + 1]&0xFF) << 16) |
((long)(value[startIndex + 2]&0xFF) << 8) |
((long)(value[startIndex + 3]&0xFF));
}
public static long ToInt32(byte[] value, int startIndex)
{
return
((long)(value[startIndex]&0xFF) << 24) |
((long)(value[startIndex + 1]&0xFF) << 16) |
((long)(value[startIndex + 2]&0xFF) << 8) |
((long)(value[startIndex + 3]&0xFF));
}
public static int ToUInt16(byte[] value, int startIndex)
{
return (int)(
((value[startIndex]&0xFF) << 8) |
((value[startIndex + 1]&0xFF)));
}
public static byte[] GetBytes_ulong(long value)
{
byte[] buff = new byte[8];
buff[0] = (byte)(value >> 56);
buff[1] = (byte)(value >> 48);
buff[2] = (byte)(value >> 40);
buff[3] = (byte)(value >> 32);
buff[4] = (byte)(value >> 24);
buff[5] = (byte)(value >> 16);
buff[6] = (byte)(value >> 8);
buff[7] = (byte)(value);
return buff;
}
public static byte[] GetBytes_long(long value)
{
byte[] buff = new byte[8];
buff[0] = (byte)(value >> 56);
buff[1] = (byte)(value >> 48);
buff[2] = (byte)(value >> 40);
buff[3] = (byte)(value >> 32);
buff[4] = (byte)(value >> 24);
buff[5] = (byte)(value >> 16);
buff[6] = (byte)(value >> 8);
buff[7] = (byte)(value);
return buff;
}
public static byte[] GetBytes_uint(long value)
{
byte[] buff = new byte[4];
buff[0] = (byte)(value >> 24);
buff[1] = (byte)(value >> 16);
buff[2] = (byte)(value >> 8);
buff[3] = (byte)(value);
return buff;
}
public static byte[] GetBytes_int(int value)
{
byte[] buff = new byte[4];
buff[0] = (byte)(value >> 24);
buff[1] = (byte)(value >> 16);
buff[2] = (byte)(value >> 8);
buff[3] = (byte)(value);
return buff;
}
public static byte[] GetBytes_short(short value)
{
byte[] buff = new byte[2];
buff[0] = (byte)(value >> 8);
buff[1] = (byte)(value);
return buff;
}
public static byte[] GetBytes_ushort(int value)
{
byte[] buff = new byte[2];
buff[0] = (byte)(value >> 8);
buff[1] = (byte)(value);
return buff;
}
}
public final class BitConverterLE
{
public static short ToInt16(byte[] value, int startIndex)
{
return (short)(
(value[startIndex]&0xff ) |
((value[startIndex + 1]&0xff)<<8));
}
public static int ToUInt16(byte[] value, int startIndex)
{
return (int)(
(value[startIndex] &0xff) |
((value[startIndex + 1]&0xff)<<8));
}
public static int ToInt32(byte[] value, int startIndex)
{
return
((int)(value[startIndex+3]&0xff) << 24) |
((int)(value[startIndex + 2]&0xff) << 16) |
((int)(value[startIndex + 1]&0xff) << 8) |
((int)(value[startIndex + 0])&0xff);
}
public static long ToUInt32(byte[] value, int startIndex)
{
return
((long)(value[startIndex+3]&0xff) << 24) |
((long)(value[startIndex + 2]&0xff) << 16) |
((long)(value[startIndex + 1]&0xff) << 8) |
((long)(value[startIndex + 0]&0xff));
}
public static long ToInt64(byte[] value, int startIndex)
{
return
((long)(value[startIndex+7]&0xff) << 56) |
((long)(value[startIndex + 6]&0xff) << 48) |
((long)(value[startIndex + 5]&0xff) << 40) |
((long)(value[startIndex + 4]&0xff) << 32) |
((long)(value[startIndex + 3]&0xff) << 24) |
((long)(value[startIndex + 2]&0xff) << 16) |
((long)(value[startIndex + 1]&0xff) << 8) |
((long)(value[startIndex + 0]&0xff));
}
public static long ToUInt64(byte[] value, int startIndex)
{
return
((long)(value[startIndex+7]&0xff) << 56) |
((long)(value[startIndex + 6]&0xff) << 48) |
((long)(value[startIndex + 5]&0xff) << 40) |
((long)(value[startIndex + 4]&0xff) << 32) |
((long)(value[startIndex + 3]&0xff) << 24) |
((long)(value[startIndex + 2]&0xff) << 16) |
((long)(value[startIndex + 1]&0xff) << 8) |
((long)(value[startIndex + 0]&0xff));
}
public static byte[] GetBytes_long(long value)
{
byte[] buff = new byte[8];
buff[0] = (byte)((value)&0xff);
buff[1] = (byte)((value >> 8)&0xff);
buff[2] = (byte)((value >> 16)&0xff);
buff[3] = (byte)((value >> 24)&0xff);
buff[4] = (byte)((value >> 32)&0xff);
buff[5] = (byte)((value >> 40)&0xff);
buff[6] = (byte)((value >> 48)&0xff);
buff[7] = (byte)((value >> 56)&0xff);
return buff;
}
public static byte[] GetBytes_ulong(long value)
{
byte[] buff = new byte[8];
buff[0] = (byte)((value)&0xff);
buff[1] = (byte)((value >> 8)&0xff);
buff[2] = (byte)((value >> 16)&0xff);
buff[3] = (byte)((value >> 24)&0xff);
buff[4] = (byte)((value >> 32)&0xff);
buff[5] = (byte)((value >> 40)&0xff);
buff[6] = (byte)((value >> 48)&0xff);
buff[7] = (byte)((value >> 56)&0xff);
return buff;
}
public static byte[] GetBytes_int(int value)
{
byte[] buff = new byte[4];
buff[0] = (byte)(value);
buff[1] = (byte)(value >> 8);
buff[2] = (byte)(value >> 16);
buff[3] = (byte)(value >> 24);
return buff;
}
public static byte[] GetBytes_uint(long value)
{
byte[] buff = new byte[4];
buff[0] = (byte)(value);
buff[1] = (byte)(value >> 8);
buff[2] = (byte)(value >> 16);
buff[3] = (byte)(value >> 24);
return buff;
}
public static byte[] GetBytes_short(short value)
{
byte[] buff = new byte[2];
buff[0] = (byte)(value);
buff[1] = (byte)(value >> 8);
return buff;
}
public static byte[] GetBytes_ushort(int value)
{
byte[] buff = new byte[2];
buff[0] = (byte)((value));
buff[1] = (byte)((value >> 8));
return buff;
}
}
System.arraycopy(srcBuff,srcIndex,destBuff,destIndex,destLen);
Byte[] ArrayUtils.toObject(byte[])
byte[] ArrayUtils.toPrimitive(Byte[])
//时间
SimpleDateFormat DTSDF=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static int BCDToDec(byte[] bcd)
{
int tmp;
int dec = 0;
for (int i = 0; i < bcd.length; i++)
{
tmp = ((bcd[i] >> 4) & 0x0F) * 10 + (bcd[i] & 0x0F);
//dec += tmp * pow(100, length - 1 - i);
dec = tmp;
}
return dec;
}