Java中int类型和tyte[]之间转换及byte[]合并

来源:互联网 发布:索尼网络电视怎么用 编辑:程序博客网 时间:2024/06/08 18:15

 

JAVA基于位移的 int类型和tyte[]之间转换

 

/** * 基于位移的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,若为负数则高位补1abyte[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[] 数组

 

/** * 基于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 ;}