JAVA基于位移的 int类型和tyte[]之间转换 [java] view plaincopy
/**
* 基于位移的int转化成byte[]
* @param int number
* @return byte[]
*/ public static byte[] intToByte(int number) {
byte[] abyte = new byte[4];
// "&" 与(AND),对两个整型操作数中对应位执行布尔代数,两个位都为1时输出1,否则0。
abyte[0] = (byte) (0xff & number);
// ">>"右移位,若为正数则高位补0,若为负数则高位补1
abyte[1] = (byte) ((0xff00 & number) >> 8);
abyte[2] = (byte) ((0xff0000 & number) >> 16);
abyte[3] = (byte) ((0xff000000 & number) >> 24);
return abyte;
} /**
*基于位移的 byte[]转化成int
* @param byte[] bytes
* @return int number
*/ public static int bytesToInt(byte[] bytes) {
int number = bytes[0] & 0xFF;
// "|="按位或赋值。
number |= ((bytes[1] << 8) & 0xFF00);
number |= ((bytes[2] << 16) & 0xFF0000);
number |= ((bytes[3] << 24) & 0xFF000000);
return number;
} JAVA 基于arraycopy合并两个byte[] 数组 [java] view plaincopy
/**
* 基于arraycopy合并两个byte[] 数组
* @param byte[] bytes1
* @param byte[] bytes2
* @return byte[] bytes3
*/
public byte[] combineTowBytes(byte[] bytes1,byte[] bytes2){
byte[] bytes3 = new byte[bytes1.length+bytes2.length];
System.arraycopy(bytes1,0,bytes3,0,bytes1.length);
System.arraycopy(bytes2,0,bytes3,bytes1.length,bytes2.length);
return bytes3 ;
}