English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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'을 사용하여 구분합니다. 인코딩 출력은 마지막에 행 구분자가 없습니다.
순번 | 내장 클래스 & 설명 |
---|---|
1 | static class Base64.Decoder를 사용하여 인코딩을 통해 바이트 데이터를 디코딩합니다. 이 클래스는 Base64 .Decoder를 사용하여 인코딩을 통해 바이트 데이터를 디코딩합니다. |
2 | static class Base64.Encoder를 사용하여 인코딩을 통해 바이트 데이터를 디코딩합니다. 이 클래스는 Base64 인코딩을 사용하여 바이트 데이터를 인코딩합니다. |
순번 | 메서드 이름 & 설명 |
---|---|
1 | static Base64.Decoder getDecoder() Base64.Decoder를 사용하여 기본형 base 디코딩64 인코딩 스키마. |
2 | static Base64.Encoder getEncoder() Base64.Encoder를 사용하여 기본형 base 인코딩64 인코딩 스키마. |
3 | static Base64.Decoder getMimeDecoder() Base64.Decoder를 사용하여 MIME형 base 디코딩64 인코딩 스키마. |
4 | static Base64.Encoder getMimeEncoder() Base64.Encoder를 사용하여 MIME형 base 인코딩64 인코딩 스키마. |
5 | static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Base64.Encoder를 사용하여 MIME형 base 인코딩64 인코딩 스키마는 매개변수를 통해 각 행의 길이와 행 구분자를 지정할 수 있습니다. |
6 | static Base64.Decoder getUrlDecoder() Base64.Decoder를 사용하여 URL과 파일 이름 안전형 base 디코딩64 인코딩 스키마. |
7 | static Base64.Encoder getUrlEncoder() Base64.Encoder를 사용하여 URL과 파일 이름 안전형 base 인코딩64 인코딩 스키마. |
주의:Base64 클래스의 많은 메서드는 java.lang.Object 클래스 상속을 보여줍니다.
다음 예제는 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