字节转化为 十六进制字符串

/** 
 * 将字节数组转换为十六进制字符串 
 * @param byteArray 
 * @return 
 */
private static String byteToStr(byte[] byteArray) {  
    String strDigest = "";  
    for (int i = 0; i < byteArray.length; i++) {  
        strDigest += byteToHexStr(byteArray[i]);  
    }  
    return strDigest;  
}
/** 
 * 将字节转换为十六进制字符串 
 * 顾名思义,char* 是一个指针类型。0x0f是一个地址。
 * 而0x是16位形式的数字, 0x0f 转换到二进制,就是 00001111。
 * 0x表示的是 16进制, 0f 表示 15
 * @param mByte 
 * @return 
 */  
private static String byteToHexStr(byte mByte) {  
    char[] Digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };  
    char[] tempArr = new char[2];  
    tempArr[0] = Digit[(mByte >>> 4) & 0X0F];  
    tempArr[1] = Digit[mByte & 0X0F];  

    String s = new String(tempArr);  
    return s;  
}

猜你喜欢

转载自www.cnblogs.com/feishao/p/10711493.html