Java8 Base64
ใน Java 8 Base64 เข้ารหัสได้กลายเป็นมาตรฐานห้องสมุดชั้น Java
Java 8 สร้างเข้ารหัส Base64 เข้ารหัสและถอดรหัส
Base64 ระดับยูทิลิตี้มีวิธีการแบบคงที่จะได้รับตัวแปลงสัญญาณที่สาม BASE64 ต่อไปนี้:
- พื้นฐาน: การส่งออกถูกจับคู่กับชุดของตัวอักษร A-ZA-Z0-9 + / ไม่เพิ่มบรรทัดใดเข้ารหัสมาตรฐานส่งออกถอดรหัสสนับสนุนเฉพาะ A-ZA-Z0-9 + /
- URL: เอาท์พุทถูกจับคู่กับชุดของตัวอักษร A-ZA-Z0-9 + _ มีการส่งออกเป็นไฟล์ URL และ
- ไมม์: รูปแบบการออกเหตุการณ์ซ่อน MIME ง่ายสายการส่งออกแต่ละครั้งจะไม่เกิน 76 ตัวอักษรและ '\ R' และทำตาม '\ n' เป็นแยก สุดท้ายไม่มีรหัสการแบ่งส่วนเส้นเอาท์พุท
ระดับสมองกลฝังตัว
เลขที่ | เรียนซ้อนกันและคำอธิบาย |
---|---|
1 | Base64.Decoder ระดับคงที่ ชั้นนี้ใช้สำหรับการเข้ารหัสถอดรหัสใช้ Base64 เพื่อถอดรหัสไบต์ของข้อมูล |
2 | Base64.Encoder ระดับคงที่ ชั้นนี้ดำเนินการเข้ารหัส, ใช้การเข้ารหัส Base64 การเข้ารหัสไบต์ของข้อมูล |
ทาง
เลขที่ | ชื่อวิธีการและรายละเอียด |
---|---|
1 | คง Base64.Decoder getDecoder () ผลตอบแทนที่ได้ Base64.Decoder การถอดรหัสโดยใช้รูปแบบการเข้ารหัส Base64 พื้นฐาน |
2 | คง Base64.Encoder getEncoder () คืน Base64.Encoder ที่ base64 เข้ารหัสโดยใช้รูปแบบการเขียนโปรแกรมขั้นพื้นฐาน |
3 | คง Base64.Decoder getMimeDecoder () ผลตอบแทนที่ได้ Base64.Decoder การถอดรหัสโดยใช้ชนิดไมม์การเข้ารหัสรูปแบบ base64 |
4 | คง Base64.Encoder getMimeEncoder () ส่งกลับ Base64.Encoder, base64 เข้ารหัสโดยใช้ MIME โครงการประเภทการเข้ารหัส |
5 | คง Base64.Encoder getMimeEncoder (int lineLength ไบต์ [] lineSeparator) ส่งกลับ Base64.Encoder, base64 เข้ารหัสโดยใช้รูปแบบการเข้ารหัสชนิดไมม์คุณสามารถระบุความยาวของแต่ละบรรทัดและคั่นบรรทัดผ่านพารามิเตอร์ |
6 | คง Base64.Decoder getUrlDecoder () ส่งกลับ Base64.Decoder ถอดรหัส URL และชื่อแฟ้ม base64 ปลอดภัยการเข้ารหัสรูปแบบ |
7 | คง Base64.Encoder getUrlEncoder () ส่งกลับ Base64.Encoder, เข้ารหัสโดยใช้ชื่อไฟล์ URL และ Base64 ปลอดภัยการเข้ารหัสรูปแบบ |
หมายเหตุ: วิธีการหลายระดับ 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("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()); } } }
การดำเนินงานของสคริปดังกล่าวข้างต้นออกเป็น:
$ javac Java8Tester.java $ java Java8Tester 原始字符串: w3big?java8 Base64 编码字符串 (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64 编码字符串 (MIME) :MjY5OGRlYmEtZDU0ZS00MjY0LWE3NmUtNzFiNTYwY2E4YjM1NmFmMDFlNzQtZDE2NC00MDk3LTlh ZjItYzNkNGJjNmQwOWE2OWM0NDJiN2YtOGM4Ny00MjhkLWJkMzgtMGVlZjFkZjkyYjJhZDUwYzk0 ZWMtNDE5ZC00MTliLWEyMTAtZGMyMjVkYjZiOTE3ZTkxMjljMTgtNjJiZC00YTFiLTg3MzAtOTA0 YzdjYjgxYjQ0YTUxOWNkMTAtNjgxZi00YjQ0LWFkZGMtMzk1YzRkZjIwMjcyMzA0MTQzN2ItYzBk My00MmQyLWJiZTUtOGM0MTlmMWIxM2MxYTY4NmNiOGEtNTkxZS00NDk1LThlN2EtM2RjMTZjMWJk ZWQyZTdhNmZiNDgtNjdiYy00ZmFlLThjNTYtMjcyNDNhMTRhZTkyYjNiNWY2MmEtNTZhYS00ZDhk LWEwZDYtY2I5ZTUwNzJhNGE1