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

DDD
リリース: 2024-11-21 16:34:12
オリジナル
758 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート