バイト配列を対応する 16 進値に変換する必要がある状況に遭遇することがあります。 Java は、この変換を効率的に行う簡単な方法を提供します。
バイト配列を 16 進数に変換する最も簡潔な方法は、StringBuilder クラスを利用することです。
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 進数の文字列に変換します。 ( X) を入力し、それを文字列ビルダーに追加します。結果の文字列には、スペースで区切られた 16 進値が含まれます。
一部のシナリオでは、10 進値の文字列配列を 16 進文字列に変換する必要がある場合があります。これは次のように実現できます。
String[] arr = {"-1", "0", "10", "20" }; for (int i = 0; i < arr.length; i++) { arr[i] = String.format("%02x", Byte.parseByte(arr[i])); } System.out.println(java.util.Arrays.toString(arr));
このコードは、配列内の各文字列をバイトに変換し、String.format メソッドを使用して先頭にゼロが付いた 16 進文字列を作成します。
Integer.toHexString(int) も使用できますが、負の値を扱う場合は符号拡張に注意してください。バイト値。あるいは、String.format ソリューションはより信頼性と柔軟性が高くなります。
以上がJava でバイト配列を 16 進数に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。