Java プログラミングでは、バイナリ データをテキスト形式に変換して送信する必要があることが多く、Base64 エンコードが一般的に使用される変換方法です。
Base64 は、3 バイトのデータを 4 バイトのテキスト データに変換します。テキスト データは 64 文字で構成されます。印刷可能な文字のみが含まれるため、メールや HTTP リクエスト メッセージなどで送信されます。プロトコル。 Java は Base64 エンコードおよびデコード API を提供するため、データを簡単に変換できます。
この記事では、Base64 を使用して Java でデータをエンコードおよびデコードする方法を紹介します。
1. Java8 以降のバージョンで提供される Base64 メソッドを使用する
Java8 以降のバージョンでは Base64 クラスが提供され、そのクラスが提供するメソッドをエンコードおよびデコード操作に直接使用できます。
Base64 エンコードは、バイナリ データをテキスト形式に変換するプロセスです。Java には、Base64 エンコード プロセスを簡単に実装できる API がいくつか用意されています。
String str = "Java Base64编码解码"; byte[] data = str.getBytes("UTF-8"); String result = Base64.getEncoder().encodeToString(data); System.out.println(result);
出力結果は次のとおりです: SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==
getBytes() メソッドを使用して文字列に対応するバイト配列を取得し、Base64.getEncoder().encodeToString() メソッドを使用します。バイト配列を Base64 エンコード形式の文字列に変換するエンコード操作を実装するために使用されます。
はエンコードに相当し、Base64 形式の文字列をバイナリ データに変換する処理です。同様に、Java は Base64 デコード プロセスを簡単に実装するための API を提供します。
String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg=="; byte[] data = Base64.getDecoder().decode(text); String result = new String(data, "UTF-8"); System.out.println(result);
出力結果は次のとおりです: Java Base64 エンコードとデコード
その中で、Base64.getDecoder().decode() メソッドは、Base64 形式の文字列をバイト配列、新しい String にデコードできます。 () メソッドはバイト配列を文字列に変換します。
2. Apache Commons Codec を使用して Base64 エンコードとデコードを実装する
Apache Commons Codec ライブラリは、Apache のオープン ソース プロジェクトであり、いくつかのエンコード/デコード API を提供します。Base64 に加えて、これには、Hex、URL、Soundex、およびその他のエンコード方式も含まれます。ここでは、Base64 エンコードおよびデコードに Commons Codec ライブラリを使用する方法のみを紹介します。
String str = "Java Base64编码解码"; byte[] data = str.getBytes("UTF-8"); String result = org.apache.commons.codec.binary.Base64.encodeBase64String(data); System.out.println(result);
出力結果は上記と同じです。
ここでは、org.apache.commons.codec.binary.Base64 クラスの encodeBase64String() メソッドを呼び出して、Base64 エンコーディングを実装します。このメソッドは、バイト配列を Base64 形式の文字列に変換します。
String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg=="; byte[] data = org.apache.commons.codec.binary.Base64.decodeBase64(text); String result = new String(data, "UTF-8"); System.out.println(result);
出力結果は上記と同じです。
ここでは、org.apache.commons.codec.binary.Base64 クラスの decodeBase64() メソッドを呼び出して、Base64 デコードを実装します。 decodeBase64() メソッドは、Base64 形式の文字列をバイト配列に変換します。
概要:
Java8 が提供する Base64 クラスを使用する場合でも、Apache Commons Codec ライブラリを使用する場合でも、Base64 のエンコードとデコードを簡単に実行できます。どの方法を使用するかは、特定の状況によって異なります。実際のプログラミングでは、必要に応じてどのメソッドを使用するかを選択する必要があります。
以上がJava で Base64 関数を使用してエンコードおよびデコードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。