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