byte转16进制String时为什么要乘上0xff
基本知识1.byte是1byte(8位),int是4byte(32位)表示的。2.Java中是使用了补码的形式进行数据存储的。3.java中byte数据转化为int数据时会自动补位,如果最高位(符号位)是0,则高24位全部补0,若是1,则高24位全部补1。原因解析如下代码:public static String parseByte2HexStr(byte[] buf) { StringBuffer sb = new StringBuffer(); for (in
原创
2020-10-20 12:28:18 ·
639 阅读 ·
0 评论