Javaではバイナリを16進数に変換する2つの実現方法があります。
Javaではバイナリを16進数に変換する2つの実現方法があります。
バイトごとに16進数に変換する方法1
バイトごとに16進数に変換する方法1
/**
* 16 , 1
*
* @param result
*/
private static String toHex(byte[] result) {
StringBuffer sb = new StringBuffer(result.length * 2);
for (int i = 0; i < result.length; i++) {
sb.append(Character.forDigit((result[i] & 240) >> 4, 16));
sb.append(Character.forDigit(result[i] & 15, 16));
}
return sb.toString();
}
バイトごとに16進数に変換する方法2
/**
* 16 , 2
*
* @param result
* @return
*/
private static String toHex2(byte[] result) {
StringBuffer sb = new StringBuffer(result.length * 2);
for (int i = 0; i < result.length; i++) {
int hight = ((result[i] >> 4) & 0x0f);
int low = result[i] & 0x0f;
sb.append(hight > 9 ? (char) ((hight - 10) + 'a')
: (char) (hight + '0'));
sb.append(low > 9 ? (char) ((low - 10) + 'a') : (char) (low + '0'));
}
return sb.toString();
}
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。