前言:最近字节数据需要打印出现查看,但是字节数据不可直接打印
查找网上原因:在内存中,数据都是以byte 为单位存储在内。当程序文件加载到内存中,才能运行。
1 byte =8bit,即8个0或1组成的序列。所以内存中都是0和1。
比如对于内存中的一段bit序列0110 0001,如果赋予它为整数类型,
它就代表十进制的97或十六进制的61(0x61);
如果把它看做一个字符串,查ASCII码表,它就是字母a。
Java byte数组转换成String打印
public class StringToByte {
public static void main(String[] args) {
int length=16;
byte[] bytes = new byte[length];
for (int i=0; i<length;i++ ){
bytes[i]=(byte)0x61;
}
System.out.println(bytes.toString());
String s=new String(bytes,StandardCharsets.UTF_8);
System.out.println("字符串输出: "+s);
//打印成十六进制
System.out.println("十六进制Output: " + DatatypeConverter.printHexBinary(bytes));
}
}
执行结果:
其他: