ホームページ > Java > &#&チュートリアル > Java で Base64 を使用して文字列を適切にエンコードおよびデコードするにはどうすればよいですか?

Java で Base64 を使用して文字列を適切にエンコードおよびデコードするにはどうすればよいですか?

DDD
リリース: 2024-11-23 02:14:12
オリジナル
850 人が閲覧しました

How to Properly Encode and Decode Strings Using Base64 in Java?

Java を使用した Base64 での文字列のエンコードとデコード

Base64 を使用した文字列のエンコードとデコードは、多くのプログラミング シナリオで一般的なタスクです。ただし、特定の実装の詳細が問題を引き起こす可能性があります。

問題

提供されたコード スニペットでは、Base64 での文字列のエンコードとデコードで問題が発生するようです。特定の問題については明示的には言及されていません。

解決策

Java で Base64 を使用して文字列を正常にエンコードおよびデコードするには、次の手順を慎重に行う必要があります。フォロー:

エンコーディング:

  1. 文字列に適切な文字エンコーディングを選択します。 UTF-8 または UTF-16 が一般的な選択肢です。
  2. 選択した文字エンコーディングを使用して文字列をバイト配列にエンコードします (例:source.getBytes("UTF-8"))。
  3. Base64 クラスを利用して、バイト配列を Base64 文字列にエンコードします (例: Base64.encodeToString(byteArray, Base64.DEFAULT)).

デコード:

  1. Base64 でエンコードされた文字列を受信します。
  2. Base64 クラスを使用して、 Base64 文字列をバイト配列にデコードします (例: Base64.decode(encodedString, Base64.DEFAULT)).
  3. エンコード中に使用される文字エンコーディングを使用して、バイト配列を文字列にデコードします (例: new String(byteArray, "UTF-8"))。

コード例:

上記の手順に従った、より完全で改良されたコード例:

import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Base64Example {

    public static void main(String[] args) {
        String source = "password";
        byte[] byteArray = source.getBytes(StandardCharsets.UTF_8);

        String encodedString = Base64.getEncoder().encodeToString(byteArray);
        System.out.println("Encoded string: " + encodedString);

        byte[] decodedByteArray = Base64.getDecoder().decode(encodedString);
        String decodedString = new String(decodedByteArray, StandardCharsets.UTF_8);
        System.out.println("Decoded string: " + decodedString);
    }
}
ログイン後にコピー

以上がJava で Base64 を使用して文字列を適切にエンコードおよびデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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