Java8のBase64
Javaの8では、Base64エンコードは、標準のJavaクラスライブラリとなっています。
Javaの8は、Base64でエンコードされたエンコーダとデコーダを内蔵しました。
Base64でのユーティリティクラスは、次の3つのBASE64コーデックを入手するには、静的メソッドを提供します。
- 基本:出力は/ +-ZA-Z0-9文字のセットにマッピングされ、符号化規格任意の行を追加しない、デコード出力がonly-ZA-Z0-9 + /をサポートしています。
- URL:出力が+ _ A-ZA-Z0-9文字のセットにマッピングされ、出力はURLやファイルです。
- MIME:出力隠された事件MIME-やすいフォーマット。各出力行以上76文字ではなく、 '\ rを'とスプリットとして '\ n'をたどります。 最後に、ノーコード出力ラインセグメンテーション。
組み込みクラス
いいえ。 | 入れ子のクラスと説明 |
---|---|
1 | 静的クラスBase64.Decoder このクラスは、データのバイトをデコードするために使用Base64エンコード用のデコーダを実装しています。 |
2 | 静的クラスBase64.Encoder このクラスは、エンコーダを実装し、データのバイトを符号化するためにBase64エンコードを使用します。 |
ウェイ
いいえ。 | メソッド名および説明 |
---|---|
1 | 静的Base64.Decoder getDecoder() 基本的なbase64エンコード方式を用いて復号化を、Base64.Decoderを返します。 |
2 | 静的Base64.Encoder getEncoder() 基本的な符号化方式を使用してエンコードBase64.Encoder、base64のを返します。 |
3 | 静的Base64.Decoder getMimeDecoder() MIMEタイプのbase64符号化方式を用いて復号化を、Base64.Decoderを返します。 |
4 | 静的Base64.Encoder getMimeEncoder() MIMEタイプの符号化方式を使用してエンコードBase64.Encoder、base64のを返します。 |
5 | 静的Base64.Encoder getMimeEncoder(int型の行の最大長、バイト [] lineSeparator) MIMEタイプの符号化方式を使用してエンコードBase64.Encoder、base64でを返し、あなたはパラメータを介して、各ラインの長さとライン区切り文字を指定することができます。 |
6 | 静的Base64.Decoder getUrlDecoder() Base64.Decoder、デコードURLとファイル名安全なbase64エンコード方式を返します。 |
7 | 静的Base64.Encoder getUrlEncoder() Base64.Encoder、URLとファイル名安全なbase64エンコード方式を使用してエンコードを返します。 |
注:多くの方法はBase64クラスはjava.lang.Objectクラスから継承します。
Base64での例
次の例は、使用をBase64を示しています。
import java.util.Base64; import java.util.UUID; import java.io.UnsupportedEncodingException; public class Java8Tester { public static void main(String args[]){ try { // 使用基本编码 String base64encodedString = Base64.getEncoder().encodeToString("w3big?java8".getBytes("utf-8")); System.out.println("Base64 比那么字符串 (基本) :" + base64encodedString); // 解码 byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString); System.out.println("原始字符串: " + new String(base64decodedBytes, "utf-8")); base64encodedString = Base64.getUrlEncoder().encodeToString("TutorialsPoint?java8".getBytes("utf-8")); System.out.println("Base64 编码字符串 (URL) :" + base64encodedString); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 10; ++i) { stringBuilder.append(UUID.randomUUID().toString()); } byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8"); String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes); System.out.println("Base64 编码字符串 (MIME) :" + mimeEncodedString); }catch(UnsupportedEncodingException e){ System.out.println("Error :" + e.getMessage()); } } }
上記のスクリプトの実装、出力は次のようになります。
$ javac Java8Tester.java $ java Java8Tester 原始字符串: w3big?java8 Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 编码字符串 (MIME) :MjY5OGRlYmEtZDU0ZS00MjY0LWE3NmUtNzFiNTYwY2E4YjM1NmFmMDFlNzQtZDE2NC00MDk3LTlh ZjItYzNkNGJjNmQwOWE2OWM0NDJiN2YtOGM4Ny00MjhkLWJkMzgtMGVlZjFkZjkyYjJhZDUwYzk0 ZWMtNDE5ZC00MTliLWEyMTAtZGMyMjVkYjZiOTE3ZTkxMjljMTgtNjJiZC00YTFiLTg3MzAtOTA0 YzdjYjgxYjQ0YTUxOWNkMTAtNjgxZi00YjQ0LWFkZGMtMzk1YzRkZjIwMjcyMzA0MTQzN2ItYzBk My00MmQyLWJiZTUtOGM0MTlmMWIxM2MxYTY4NmNiOGEtNTkxZS00NDk1LThlN2EtM2RjMTZjMWJk ZWQyZTdhNmZiNDgtNjdiYy00ZmFlLThjNTYtMjcyNDNhMTRhZTkyYjNiNWY2MmEtNTZhYS00ZDhk LWEwZDYtY2I5ZTUwNzJhNGE1