ホームページ >Java >&#&チュートリアル >Javaで文字列を16進数に変換して戻すにはどうすればよいですか?

Javaで文字列を16進数に変換して戻すにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-07 21:17:15202ブラウズ

How to Convert a String to Hexadecimal and Back in Java?

Java で文字列を 16 進数に変換する

バイナリ データまたは暗号化を扱う場合、文字列を 16 進数表現に変換することが不可欠になります。 Java では、この変換プロセスは String クラスと BigInteger クラスを使用して実行できます。

文字列を 16 進数に変換するには、次の手順を使用できます。

  1. getBytes() を使用して文字列をバイト配列に変換します。メソッド:

    byte[] bytes = myString.getBytes(/*YOUR_CHARSET?*/);
  2. BigInteger コンストラクターを使用して、バイト配列から新しい BigInteger オブジェクトを作成します:

    BigInteger bi = new BigInteger(1, bytes);
  3. 次の形式を使用しますBigInteger オブジェクトを 16 進数としてフォーマットするための String クラスの () メソッドstring:

    String hexString = String.format("%040x", bi);

結果の hexString は、元の文字列の 40 文字の 16 進表現になります。

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

変換のプロセス16 進文字列を文字列に戻す手順は上記のプロセスと似ていますが、逆です。

  1. BigInteger コンストラクターを使用して 16 進文字列を BigInteger オブジェクトに変換します。

    BigInteger bi = new BigInteger(hexString, 16);
  2. BigInteger クラスの getBytes() メソッドを使用して、 BigInteger オブジェクトをバイト配列に変換します:

    byte[] bytes = bi.getBytes();
  3. String コンストラクターを使用して、バイト配列から新しい String オブジェクトを作成します:

    String myString = new String(bytes);

結果の myString は、16 進数に変換された元の文字列になります。

以上がJavaで文字列を16進数に変換して戻すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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