ホームページ  >  記事  >  Java  >  Java でバイト配列を 16 進文字列に変換するときに先頭のゼロを保持する方法

Java でバイト配列を 16 進文字列に変換するときに先頭のゼロを保持する方法

DDD
DDDオリジナル
2024-11-21 16:34:12759ブラウズ

How to Preserve Leading Zeros When Converting Byte Arrays to Hex Strings in Java?

Java でバイト配列を 16 進文字列に変換するときに先頭のゼロを保持する

先頭のゼロを保持したままバイト配列を 16 進数の文字列に変換するにはJava では、次を実装します。アプローチ:

String.format の使用

String.format を使用して、各バイトを固定幅の 2 文字の 16 進文字列としてフォーマットします。先頭のゼロは保証されています:

byte[] bytes = ...;
String hexString = "";
for (byte b : bytes) {
    hexString += String.format("%02X", b);
}

Apache Commons Codec の使用

Apache Commons Codec の Hex.encodeHexString メソッドを利用します:

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

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

グアバの使用ByteString

Guava の ByteString クラスを使用して、バイトを 16 進文字列に変換します。

import com.google.common.hash.Hashing;

byte[] bytes = ...;
String hexString = Hashing.sha256().hashBytes(bytes).toString();

各アプローチでは、バイト配列を 16 進文字列に変換するときに先行ゼロが確実に保持されます。

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

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