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에서 8Base64编码이 Java 라이브러리의 표준이 되었습니다。

Java 8 내장된 Base64 编码的编码器和解码器。

Base64이 도구 클래스는 아래 세 가지 BASE를 가져오는 데 사용되는 정적 메서드를 제공합니다.64인코딩/디코딩기:

  • 기본형:출력은 문자 집합 A로 맵핑됩니다.-Za-z0-9+/구분자를 추가하지 않는 인코딩이며, 출력의 디코딩은 A만 지원합니다.-Za-z0-9+/。

  • URL:출력은 문자 집합 A로 맵핑됩니다.-Za-z0-9+_를 사용하여 출력은 URL과 파일입니다.

  • MIME:출력은 MIME 친화형 형식으로 맵핑됩니다. 각 행은 최대76문자를 사용하며, '\r'과 '\n'을 사용하여 구분합니다. 인코딩 출력은 마지막에 행 구분자가 없습니다.

내장 클래스

순번내장 클래스 & 설명
1static class Base64.Decoder를 사용하여 인코딩을 통해 바이트 데이터를 디코딩합니다.

이 클래스는 Base64 .Decoder를 사용하여 인코딩을 통해 바이트 데이터를 디코딩합니다.

2static class Base64.Encoder를 사용하여 인코딩을 통해 바이트 데이터를 디코딩합니다.

이 클래스는 Base64 인코딩을 사용하여 바이트 데이터를 인코딩합니다.

메서드

순번메서드 이름 & 설명
1static Base64.Decoder getDecoder()

Base64.Decoder를 사용하여 기본형 base 디코딩64 인코딩 스키마.

2static Base64.Encoder getEncoder()

Base64.Encoder를 사용하여 기본형 base 인코딩64 인코딩 스키마.

3static Base64.Decoder getMimeDecoder()

Base64.Decoder를 사용하여 MIME형 base 디코딩64 인코딩 스키마.

4

static Base64.Encoder getMimeEncoder()

Base64.Encoder를 사용하여 MIME형 base 인코딩64 인코딩 스키마.

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

Base64.Encoder를 사용하여 MIME형 base 인코딩64 인코딩 스키마는 매개변수를 통해 각 행의 길이와 행 구분자를 지정할 수 있습니다.

6static Base64.Decoder getUrlDecoder()

Base64.Decoder를 사용하여 URL과 파일 이름 안전형 base 디코딩64 인코딩 스키마.

7static Base64.Encoder getUrlEncoder()

Base64.Encoder를 사용하여 URL과 파일 이름 안전형 base 인코딩64 인코딩 스키마.

주의: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 새로운 기능