关于字节操作的一些事情
程序员文章站
2024-03-14 18:14:58
...
public static String bytesToHexFun1(byte[] bytes) {
// 一个byte为8位,可用两个十六进制位标识
char[] buf = new char[bytes.length * 2];
int a = 0;
int index = 0;
for(byte b : bytes) { // 使用除与取余进行转换
if(b < 0) {
a = 256 + b;
} else {
a = b;
}
buf[index++] = HEX_CHAR[a / 16];
buf[index++] = HEX_CHAR[a % 16];
}
return new String(buf);
}
上面是将byte转换为16进制,那么为什么a=256+b?
答案是因为一个char就是一个字节,一个字节有256种,因为数组的次序不能是负的,所以加上256后还是等于自身
上一篇: 关于css的一些事情(1)
下一篇: 关于一些暴力的事情:枚举(1)