Java8 Base64
Java 8 では、Base64 エンコーディングは Java クラスライブラリの標準になっています。
Java 8 には Base64 エンコーディングのエンコーダーとデコーダーが組み込まれています。
Base64 ユーティリティクラスは、次の 3 種類の BASE64 エンコーダー/デコーダーを取得するための一連の静的メソッドを提供します。
- 基本:出力は文字セット A-Za-z0-9+/ にマッピングされ、エンコードでは行マーカーは追加されません。出力のデコードは A-Za-z0-9+/ のみサポートします。
- URL:出力は文字セット A-Za-z0-9+_ にマッピングされ、URL とファイル名に対して安全です。
- MIME:出力は MIME フレンドリーな形式にマッピングされます。出力の各行は 76 文字を超えず、'\r' の後に '\n' が続く区切りを使用します。エンコードされた出力の最後には行区切りはありません。
ネストされたクラス
| 番号 | ネストされたクラス & 説明 |
|---|---|
| 1 | static class Base64.Decoder
このクラスは、Base64 エンコーディングを使用してバイトデータをデコードするためのデコーダーを実装します。 |
| 2 | static class Base64.Encoder
このクラスは、Base64 エンコーディングを使用してバイトデータをエンコードするためのエンコーダーを実装します。 |
メソッド
| 番号 | メソッド名 & 説明 |
|---|---|
| 1 | static Base64.Decoder getDecoder()
基本的な base64 エンコーディング方式を使用してデコードする Base64.Decoder を返します。 |
| 2 | static Base64.Encoder getEncoder()
基本的な base64 エンコーディング方式を使用してエンコードする Base64.Encoder を返します。 |
| 3 | static Base64.Decoder getMimeDecoder()
MIME 型 base64 エンコーディング方式を使用してデコードする Base64.Decoder を返します。 |
| 4 | static Base64.Encoder getMimeEncoder() MIME 型 base64 エンコーディング方式を使用してエンコードする Base64.Encoder を返します。 |
| 5 | static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)
MIME 型 base64 エンコーディング方式を使用してエンコードする Base64.Encoder を返します。パラメータで各行の長さと行区切り文字を指定できます。 |
| 6 | static Base64.Decoder getUrlDecoder()
URL およびファイル名セーフ型 base64 エンコーディング方式を使用してデコードする Base64.Decoder を返します。 |
| 7 | static Base64.Encoder getUrlEncoder()
URL およびファイル名セーフ型 base64 エンコーディング方式を使用してエンコードする Base64.Encoder を返します。 |
注意:Base64 クラスの多くのメソッドは、java.lang.Objectクラスから継承されています。
Base64 の例
以下の例は、Base64 の使用法を示しています。
Java8Tester.java ファイル
上記のスクリプトを実行すると、出力結果は次のようになります。
$ javac Java8Tester.java $ java Java8Tester 原始字符串: サンプル?java8 Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 编码字符串 (MIME) :M2Q4YmUxMTEtYWRkZi00NzBlLTgyZDgtN2MwNjgzOGY2NGFlOTQ3NDYyMWEtZDM4ZS00YWVhLTkz OTYtY2ZjMzZiMzFhNmZmOGJmOGI2OTYtMzkxZi00OTJiLWEyMTQtMjgwN2RjOGI0MTBmZWUwMGNk NTktY2ZiZS00MTMxLTgzODctNDRjMjFkYmZmNGM4Njg1NDc3OGItNzNlMC00ZWM4LTgxNzAtNjY3 NTgyMGY3YzVhZWQyMmNiZGItOTIwZi00NGUzLTlkMjAtOTkzZTI1MjUwMDU5ZjdkYjg2M2UtZTJm YS00Y2Y2LWIwNDYtNWQ2MGRiOWQyZjFiMzJhMzYxOWQtNDE0ZS00MmRiLTk3NDgtNmM4NTczYjMx ZDIzNGRhOWU4NDAtNTBiMi00ZmE2LWE0M2ItZjU3MWFiNTI2NmQ2NTlmMTFmZjctYjg1NC00NmE1 LWEzMWItYjk3MmEwZTYyNTdk
その他の拡張
Java 8 の新機能