将二进制数据转为16进制以便显示


在计算机的世界中,经常会用到一串二进制流表示某个数据,比如摘要算法中,生成的摘要就是一串二进制,可读性差,为了方便查看,我们往往会将其转换成16进制以便比较。其转换方式如下算法所示:

/**
* 把byte[]数组转换成十六进制字符串表示形式
* @param tmp 要转换的byte[]
* @return 十六进制字符串表示形式
*/
public static String byteToHexString(byte[] tmp) {
    char[] str = new char[(16 << 1)];
    int k = 0;
    for (int i = 0; i < 16; i++) {
        byte byte0 = tmp[i];
        str[k++] = hexDigits[byte0 >>> 4 & 0xf];
        str[k++] = hexDigits[byte0 & 0xf];
    }
    return new String(str);
}
相关标签

扫一扫

在手机上阅读