Java でバイト配列を 16 進数に変換する方法
バイト配列を 16 進表現に変換することは、さまざまなプログラミング シナリオで一般的な操作です。 Java では、この変換はさまざまな手法を使用して実現できます。
方法 1: 文字列連結と String.format() を使用する
簡単なアプローチの 1 つは、それぞれを反復処理することです。配列内のバイトを取得し、String.format() メソッドを使用して 16 進文字列表現に変換します。このメソッドは、必要に応じて先頭にゼロを付けた 2 桁の 16 進数としてバイトをフォーマットします。
byte[] bytes = {-1, 0, 1, 2, 3}; StringBuilder sb = new StringBuilder(); for (byte b : bytes) { sb.append(String.format("%02X ", b)); } System.out.println(sb.toString());
このコードは、バイト配列の 16 進表現を「FF 00 01 02 03」として出力します。
方法 2: カスタム 16 進数変換を使用するFunction
または、バイト配列を 16 進文字列に直接変換するカスタム関数を作成することもできます。独自の関数を定義すると、書式設定をより詳細に制御できるようになり、変換プロセスを最適化できる可能性があります。関数の例を次に示します。
public static String bytesToHex(byte[] bytes) { StringBuilder sb = new StringBuilder(); for (byte b : bytes) { sb.append(String.format("%02X", b & 0xFF)); } return sb.toString(); }
この関数は、ビットごとの AND 演算子 (&) を使用して、バイトが符号なし整数として扱われるようにし、符号拡張の問題を取り除きます。
追加の考慮事項:
以上がJava でバイト配列を 16 進表現に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。