Latest web development tutorials

Java8 Base64

Java 8 nowych funkcji Java 8 nowych funkcji


W Javie 8 kodowania Base64 stał się standardem bibliotek klas Java.

Java 8 wbudowanych Base64 zakodowane koder i dekoder.

Base64 klasy narzędzie zapewnia statyczną metodę otrzymano następujące kodek trzy base64:

  • Podstawowe: wyjście jest mapowany do zestawu znaków a-zA-Z0-9 + /, nie należy dodawać żadnego standardu kodowania linii, dekodowane wyjście obsługuje tylko a-zA-Z0-9 + /.
  • URL: wyjście jest mapowany do zestawu znaków a-zA-Z0-9 _ +, wyjście jest URL i plików.
  • MIME: Format wyjściowy ukryte incydent MIME w obsłudze.Każda linia wyjściowa wynosi nie więcej niż 76 znaków, a '\ r' i wykonaj '\ n' jako ułamek. Wreszcie, nie ma linii wyjściowej Kod segmentacji.

Klasa wbudowania

Nie. Zagnieżdżone klasy i opis
1 statyczne klasy Base64.Decoder

Ta klasa implementuje dekoder dla kodowania Base64 zastosowanie do dekodowania bajtów danych.

2 statyczne klasy Base64.Encoder

Ta klasa implementuje koder użyć kodowania Base64 zakodować bajtów danych.

sposób

Nie. Metoda Nazwa i opis
1 statyczne Base64.Decoder getDecoder ()

Zwraca Base64.Decoder, dekodowanie przy użyciu podstawowego schematu kodowania base64.

2 statyczne Base64.Encoder getEncoder ()

Zwraca Base64.Encoder, base64 zakodowane przy użyciu podstawowego systemu kodowania.

3 statyczne Base64.Decoder getMimeDecoder ()

Zwraca Base64.Decoder, dekodowanie za pomocą typu MIME schemat kodowania base64.

4

statyczne Base64.Encoder getMimeEncoder ()

Zwraca Base64.Encoder, base64 zakodowane przy użyciu schemat kodowania typu MIME.

5 statyczne Base64.Encoder getMimeEncoder (int lineLength, byte [] lineSeparator)

Zwraca Base64.Encoder, base64 zakodowane przy użyciu schemat kodowania typu MIME, można określić długość każdej linii i separator linią przechodzącą parametrów.

6 statyczne Base64.Decoder getUrlDecoder ()

Zwraca Base64.Decoder dekodować URL i bezpieczne base64 schemat kodowania nazw plików.

7 statyczne Base64.Encoder getUrlEncoder ()

Zwraca Base64.Encoder, zakodowane przy użyciu adresu URL i bezpieczne base64 schemat kodowania nazw plików.

Uwaga: Wiele metod klasy Base64 dziedziczy z klasy java.lang.Object.


przykłady Base64

Poniższy przykład demonstruje użycie 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());
      }
   }
}

Realizacja powyższego scenariusza, wyjście jest:

$ javac Java8Tester.java 
$ java Java8Tester
原始字符串: w3big?java8
Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Base64 编码字符串 (MIME) :MjY5OGRlYmEtZDU0ZS00MjY0LWE3NmUtNzFiNTYwY2E4YjM1NmFmMDFlNzQtZDE2NC00MDk3LTlh
ZjItYzNkNGJjNmQwOWE2OWM0NDJiN2YtOGM4Ny00MjhkLWJkMzgtMGVlZjFkZjkyYjJhZDUwYzk0
ZWMtNDE5ZC00MTliLWEyMTAtZGMyMjVkYjZiOTE3ZTkxMjljMTgtNjJiZC00YTFiLTg3MzAtOTA0
YzdjYjgxYjQ0YTUxOWNkMTAtNjgxZi00YjQ0LWFkZGMtMzk1YzRkZjIwMjcyMzA0MTQzN2ItYzBk
My00MmQyLWJiZTUtOGM0MTlmMWIxM2MxYTY4NmNiOGEtNTkxZS00NDk1LThlN2EtM2RjMTZjMWJk
ZWQyZTdhNmZiNDgtNjdiYy00ZmFlLThjNTYtMjcyNDNhMTRhZTkyYjNiNWY2MmEtNTZhYS00ZDhk
LWEwZDYtY2I5ZTUwNzJhNGE1

Java 8 nowych funkcji Java 8 nowych funkcji