ホームページ >Java >&#&チュートリアル >Java でバイト配列を 16 進数に効率的に変換するにはどうすればよいですか?

Java でバイト配列を 16 進数に効率的に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-29 02:49:09452ブラウズ

How to Efficiently Convert a Byte Array to Hexadecimal in Java?

Java でのバイト配列の 16 進数への変換

バイト配列を対応する 16 進値に変換する必要がある状況に遭遇することがあります。 Java は、この変換を効率的に行う簡単な方法を提供します。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。