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