Latest web development tutorials

Java8のBase64

Javaの8の新機能 Javaの8の新機能


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

Javaの8の新機能 Javaの8の新機能