English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массив

Java Ориентирован на объекты (I)

Java Ориентирован на объекты (II)

Java Ориентирован на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map集合

Java Set集合

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java8 Base64

Java 8 новые возможности

В Java 8 кодирование Base64 стало стандартом библиотеки Java.

Java 8 встроен кодировщик и декодировщик Base64.

Класс Base64 предоставляет набор статических методов для получения трех типов BASE64 кодировщиков и декодировщиков:

  • Основной:Вывод маппинга к набору символов A-Za-z0-9+/ и не добавляет никаких строковых разделителей, декодирование вывода поддерживает только A-Za-z0-9+/.

  • URL:Вывод маппинга к набору символов A-Za-z0-9+_ и является URL и файлами.

  • MIME:Вывод маппинга к формату MIME-дружественному. Вывод каждого строки не должен превышать 76 символов, и используется '\r' и следом '\n' в качестве разделителя. Кодирование вывода не заканчивается строковым разделителем.

Вложенные классы

Номер序аВложенные классы & описание
1static class Base64.Decoder

Этот класс реализует декодировщик, использующий Base64 для декодирования байтовых данных.

2static class Base64.Encoder

Этот класс реализует кодировщик, использующий Base64 для кодирования байтовых данных.

Метод

Номер序аИмя метода & описание
1static Base64.Decoder getDecoder()

Возвращает Base64.Decoder, декодирование использует базовую схему base64.

2static Base64.Encoder getEncoder()

Возвращает Base64.Encoder, кодирование использует базовую схему base64.

3static Base64.Decoder getMimeDecoder()

Возвращает Base64.Decoder, декодирование использует MIME тип Base64 кодировщик.

4

static Base64.Encoder getMimeEncoder()

Возвращает Base64.Encoder, кодирование использует MIME тип Base64 кодировщик.

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

Возвращает Base64.Encoder, кодирование использует MIME тип Base64 кодировщик, можно указать длину строки и разделитель строк.

6static Base64.Decoder getUrlDecoder()

Возвращает Base64.Decoder, декодирование использует безопасный базовый Base64 кодировщик URL и имен файлов.

7static Base64.Encoder getUrlEncoder()

Возвращает Base64.Encoder, кодирование использует безопасный базовый Base64 кодировщик URL и имен файлов.

Внимание:Многие методы класса 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("w3codebox?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("w3codebox?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
Исходная строка: w3codebox?java8
Строка кодирования Base64 (URL): VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Строка кодирования Base64 (MIME): M2Q4YmUxMTEtYWRkZi00NzBlLTgyZDgtN2MwNjgzOGY2NGFlOTQ3NDYyMWEtZDM4ZS00YWVhLTkz
OTYtY2ZjMzZiMzFhNmZmOGJmOGI2OTYtMzkxZi00OTJiLWEyMTQtMjgwN2RjOGI0MTBmZWUwMGNk
NTktY2ZiZS00MTMxLTgzODctNDRjMjFkYmZmNGM4Njg1NDc3OGItNzNlMC00ZWM4LTgxNzAtNjY3
NTgyMGY3YzVhZWQyMmNiZGItOTIwZi00NGUzLTlkMjAtOTkzZTI1MjUwMDU5ZjdkYjg2M2UtZTJm
YS00Y2Y2LWIwNDYtNWQ2MGRiOWQyZjFiMzJhMzYxOWQtNDE0ZS00MmRiLTk3NDgtNmM4NTczYjMx
ZDIzNGRhOWU4NDAtNTBiMi00ZmE2LWE0M2ItZjU3MWFiNTI2NmQ2NTlmMTFmZjctYjg1NC00NmE1
LWEzMWItYjk3MmEwZTYyNTdk

Java 8 новые возможности