Javaではバイナリを16進数に変換する2つの実現方法があります。

1252 ワード

Javaではバイナリを16進数に変換する2つの実現方法があります。
バイトごとに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(); 
} 

読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。