JAVA中基本数组类型转byte数组
在⽇常的项⽬中,我们经常会遇到这样的问题,就是将基本数据类型转化成字节数据,
其实,字节数组是我们经常使⽤的,包括⽂件流,以及socket的数据传输,基本都是要求字节数组,虽然⼤部分⼈可能都使⽤应⽤层协议http,
⼀般都会使⽤json作为传输格式,但其实底层传输层还是将这些数据进⾏了序列化,因此我们应该熟悉这种基本数据类型和字节数组的转化。
当然这种应⽤场景也是⾮常的多,⽐如很多时候我们都希望⽂件的关键信息存储成字节数组,这样对外不容易解析,虽然存储成⼆进制也没有问题,
但是直接存储成⼆进制,在解析上会有⼀些⿇烦,⽽存储成字节数据,我们很清楚每4个字节组成⼀个int,这样处理起来相对⽅便⼀点,不需要认为约定很多东西
下⾯就是int和byte[]的转换⽅式,
public class NumConvert {
public static void main(String[] args) {
System.out.BinaryString(257));
System.out.println(bytes2Int(int2Bytes(257)));
}
/**
* 转化过程⼀定是⾼位在前
* @param num
* @return
*/字符串数组怎么转成byte
public static byte[] int2Bytes(int num) {
byte[] result = new byte[4];
result[0] = (byte)((num >>> 24) & 0xff);
result[1] = (byte)((num >>> 16) & 0xff );
result[2] = (byte)((num >>> 8) & 0xff );
result[3] = (byte)((num >>> 0) & 0xff );
return result;
}
public static int bytes2Int(byte[] bytes ) {
int int1 = (bytes[0]&0xff) << 24;
int int2 = (bytes[1]&0xff) << 16;
int int3 = (bytes[2]&0xff) << 8;
int int4 = (bytes[3]&0xff);
return int1|int2|int3|int4;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。