ホームページ >Java >&#&チュートリアル >Java バイト配列を 16 進文字列に変換するときに先頭のゼロを維持するにはどうすればよいですか?

Java バイト配列を 16 進文字列に変換するときに先頭のゼロを維持するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-27 19:31:14410ブラウズ

How Can I Maintain Leading Zeros When Converting a Java Byte Array to a Hex String?

Java でのバイト配列の 16 進変換における先頭のゼロの維持

Java では、バイト配列を 16 進数の文字列に変換するときに、正確さを期すために、先頭のゼロを保持することが重要です。変換に一般的に使用される Integer.toHexString() メソッドは、先頭のゼロを省略する傾向があります。これにより、データ表現に曖昧さが生じる可能性があります。

Apache Commons Codec を使用した解決策

解決策の 1 つは、Apache Commons Codec ライブラリを使用することです。その Hex クラスには、先頭のゼロを保持したままバイト配列を 16 進文字列に効果的に変換する直接的なメソッド encodeHexString が用意されています。

import org.apache.commons.codec.binary.Hex;

byte[] bytes = ...;
String hexString = Hex.encodeHexString(bytes);

このアプローチでは、バイト配列 'bytes' が encodeHexString に渡されます。結果の hexString には、各バイトの 16 進数表現が含まれており、各桁のペアの先行ゼロが維持され、正確さと明瞭さが保証されます。

以上がJava バイト配列を 16 進文字列に変換するときに先頭のゼロを維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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