ホームページ >Java >&#&チュートリアル >Javaで文字列を16進数に変換したり、16進数に変換したりする方法は?

Javaで文字列を16進数に変換したり、16進数に変換したりする方法は?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-24 17:24:29182ブラウズ

How to Convert Strings to and from Hexadecimal in Java?

Java での文字列の 16 進数への変換

Java での文字列の 16 進数への変換は、String.format を使用して実行できる簡単なタスクです。 () 方法。その方法は次のとおりです。

public String toHex(String arg) {
    return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}

このコードでは、BigInteger(1, arg.getBytes()) 行で文字列を BigInteger オブジェクトに変換します。これは、任意精度の非負の整数を表します。 。 1 番目の引数は、整数がリトル エンディアンのバイト オーダーで表されることを指定します。

String.format(" 0x") 行は、BigInteger オブジェクトを 16 進文字列としてフォーマットします。 0x 形式指定子は、文字列が合計幅 40 文字になるまでゼロ埋めされることを指定します。

16 進数の文字列を文字列に戻す

16 進数の文字列の変換文字列に戻すことは、上で説明した変換プロセスと似ていますが、逆になります。その方法は次のとおりです。

public String fromHex(String hex) {
    byte[] bytes = new BigInteger(hex, 16).toByteArray();
    return new String(bytes, /*YOUR_CHARSET?*/);
}

このコードでは、新しい BigInteger(hex, 16) 行が 16 進文字列を BigInteger オブジェクトに変換します。 16 引数は、文字列が 16 進形式で表現されることを指定します。

toByteArray() メソッドは、BigInteger オブジェクトをバイトの配列に変換します。

最後に、新しい String(bytes) 行は次のように変換されます。指定された文字セットを使用して、バイトの配列を文字列に変換します。

以上がJavaで文字列を16進数に変換したり、16進数に変換したりする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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