我看到互联网有很多将字节数组转换为字符串的方法。像这样:
static private String hexEncode(byte[] aInput) {
StringBuilder result = new StringBuilder();
char[] digits = {'0', '1', '2', '3', '4','5','6','7','8','9','a','b','c','d','e','f'};
for (int idx = 0; idx < aInput.length; ++idx) {
byte b = aInput[idx];
result.append(digits[ (b&0xf0) >> 4 ]); // why does this line come first
result.append(digits[ b&0x0f ]); // why is this line put behind
}
return result.toString();
}
我想知道为什么将高4号放在十六进制字符串之前。
例如:
aInput:
{ 00110001, 00010011, 01100001 }
十六进制字符串:
"311361"
我想知道为什么它不能成为133116
。