Java 8 - Base64
Với Java 8, Base64 cuối cùng đã đến hạn. Java 8 hiện có bộ mã hóa và giải mã sẵn có cho mã hóa Base64. Trong Java 8, chúng ta có thể sử dụng ba kiểu mã hóa Base64.
Simple- Đầu ra được ánh xạ tới một bộ ký tự nằm trong A-Za-z0-9 + /. Bộ mã hóa không thêm bất kỳ nguồn cấp dòng nào vào đầu ra và bộ giải mã từ chối bất kỳ ký tự nào ngoài A-Za-z0-9 + /.
URL- Đầu ra được ánh xạ tới tập hợp các ký tự nằm trong A-Za-z0-9 + _. Đầu ra là URL và tên tệp an toàn.
MIME- Đầu ra được ánh xạ sang định dạng MIME thân thiện. Đầu ra được biểu diễn bằng các dòng không quá 76 ký tự mỗi dòng và sử dụng ký tự xuống dòng '\ r' theo sau là dòng cấp dữ liệu '\ n' làm dấu phân cách dòng. Không có dấu phân tách dòng nào ở cuối đầu ra được mã hóa.
Lớp học lồng nhau
Sr.No. | Lớp và mô tả lồng nhau |
---|---|
1 | static class Base64.Decoder Lớp này triển khai một bộ giải mã để giải mã dữ liệu byte bằng cách sử dụng lược đồ mã hóa Base64 như được chỉ định trong RFC 4648 và RFC 2045. |
2 | static class Base64.Encoder Lớp này triển khai một bộ mã hóa để mã hóa dữ liệu byte bằng cách sử dụng lược đồ mã hóa Base64 như được chỉ định trong RFC 4648 và RFC 2045. |
Phương pháp
Sr.No. | Tên & Mô tả phương pháp |
---|---|
1 | static Base64.Decoder getDecoder() Trả về bộ mã hóa Base64.Decoder được giải mã bằng cách sử dụng lược đồ mã hóa base64 loại Cơ bản. |
2 | static Base64.Encoder getEncoder() Trả về bộ mã hóa Base64.Encoder sử dụng lược đồ mã hóa base64 loại Cơ bản. |
3 | static Base64.Decoder getMimeDecoder() Trả về Bộ mã hóa Base64.Decoder giải mã bằng lược đồ giải mã kiểu MIME base64. |
4 | static Base64.Encoder getMimeEncoder() Trả về bộ mã hóa Base64.Encoder sử dụng lược đồ mã hóa base64 kiểu MIME. |
5 | static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Trả về bộ mã hóa Base64.Encoder sử dụng lược đồ mã hóa loại MIME base64 với độ dài dòng được chỉ định và dấu phân cách dòng. |
6 | static Base64.Decoder getUrlDecoder() Trả về Base64.Decoder giải mã bằng lược đồ mã hóa base64 loại an toàn của Tên tệp và URL. |
7 | static Base64.Encoder getUrlEncoder() Trả về một Base64.Encoder mã hóa bằng lược đồ mã hóa base64 loại an toàn cho URL và Tên tệp. |
Phương thức được kế thừa
Lớp này kế thừa các phương thức từ lớp sau:
- java.lang.Object
Ví dụ Base64
Tạo chương trình Java sau bằng cách sử dụng bất kỳ trình soạn thảo nào bạn chọn trong C: /> JAVA.
Java8Tester.java
import java.util.Base64;
import java.util.UUID;
import java.io.UnsupportedEncodingException;
public class HelloWorld {
public static void main(String args[]) {
try {
// Encode using basic encoder
String base64encodedString = Base64.getEncoder().encodeToString(
"TutorialsPoint?java8".getBytes("utf-8"));
System.out.println("Base64 Encoded String (Basic) :" + base64encodedString);
// Decode
byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
System.out.println("Original String: " + new String(base64decodedBytes, "utf-8"));
base64encodedString = Base64.getUrlEncoder().encodeToString(
"TutorialsPoint?java8".getBytes("utf-8"));
System.out.println("Base64 Encoded String (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 Encoded String (MIME) :" + mimeEncodedString);
} catch(UnsupportedEncodingException e) {
System.out.println("Error :" + e.getMessage());
}
}
}
Xác minh kết quả
Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -
C:\JAVA>javac Java8Tester.java
Bây giờ chạy Java8Tester như sau:
C:\JAVA>java Java8Tester
Nó sẽ tạo ra kết quả sau:
Base64 Encoded String (Basic) :VHV0b3JpYWxzUG9pbnQ/amF2YTg=
Original String: TutorialsPoint?java8
Base64 Encoded String (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Base64 Encoded String (MIME) :YmU3NWY2ODktNGM5YS00ODlmLWI2MTUtZTVkOTk2YzQ1Njk1Y2EwZTg2OTEtMmRiZC00YTQ1LWJl
NTctMTI1MWUwMTk0ZWQyNDE0NDAwYjgtYTYxOS00NDY5LTllYTctNjc1YzE3YWJhZTk1MTQ2MDQz
NDItOTAyOC00ZWI0LThlOTYtZWU5YzcwNWQyYzVhMTQxMWRjYTMtY2MwNi00MzU0LTg0MTgtNGQ1
MDkwYjdiMzg2ZTY0OWU5MmUtZmNkYS00YWEwLTg0MjQtYThiOTQxNDQ2YzhhNTVhYWExZjItNjU2
Mi00YmM4LTk2ZGYtMDE4YmY5ZDZhMjkwMzM3MWUzNDMtMmQ3MS00MDczLWI0Y2UtMTQxODE0MGU5
YjdmYTVlODUxYzItN2NmOS00N2UyLWIyODQtMThlMWVkYTY4M2Q1YjE3YTMyYmItZjllMS00MTFk
LWJiM2UtM2JhYzUxYzI5OWI4