将字节数组转换为十六进制字符串的顺序

时间:2017-03-31 10:17:30

标签: java string byte

我看到互联网有很多将字节数组转换为字符串的方法。像这样:

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

0 个答案:

没有答案