English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
أصبح الترميز Base64 في Java 8 جزءًا من مكتبة 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' كفصل.
الرقم التسلسلي | صنف داخلي & الوصف |
---|---|
1 | static class Base64.Decoder يحقق هذا الصنف م解码ر يستخدم الترميز Base64 للفك ترميز بيانات البايت. |
2 | static class Base64.Encoder يحقق هذا الصنف م编码ر، يستخدم الترميز Base64 لترميز بيانات البايت. |
الرقم التسلسلي | اسم الطريقة & الوصف |
---|---|
1 | static Base64.Decoder getDecoder() يقدم بيانات Base64.Decoder، يستخدم نظام الترميز base64 الأساسي للفك الترميز. |
2 | static Base64.Encoder getEncoder() يقدم بيانات Base64.Encoder، يستخدم نظام الترميز base64 الأساسي للترميز. |
3 | static Base64.Decoder getMimeDecoder() 返回一个 Base64.Decoder ,解码使用 MIME 型 base64 编码方案。 |
4 | static Base64.Encoder getMimeEncoder() 返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案。 |
5 | static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) 返回一个 Base64.Encoder ,编码使用 MIME 型 base64 编码方案,可以通过参数指定每行的长度及行的分隔符。 |
6 | static Base64.Decoder getUrlDecoder() 返回一个 Base64.Decoder ,解码使用 URL 和文件名安全型 base64 编码方案。 |
7 | static Base64.Encoder getUrlEncoder() 返回一个 Base64.Encoder ,编码使用 URL 和文件名安全型 base64 编码方案。 |
注意: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("م编码 الأساسي (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("م编码 الأساسي (MIME): ": + mimeEncodedString); } System.out.println("Error ": + e.getMessage()); } } }
إذا قمت بتشغيل السكربت المسبق، النتيجة ستكون:
$ javac Java8Tester.java $ java Java8Tester السلسلة الأصلية: w3codebox?java8 م编码 الأساسي (URL): VHV0b3JpYWxzUG9pbnQ_amF2YTg= م编码 الأساسي (MIME): M2Q4YmUxMTEtYWRkZi00NzBlLTgyZDgtN2MwNjgzOGY2NGFlOTQ3NDYyMWEtZDM4ZS00YWVhLTkz OTYtY2ZjMzZiMzFhNmZmOGJmOGI2OTYtMzkxZi00OTJiLWEyMTQtMjgwN2RjOGI0MTBmZWUwMGNk NTktY2ZiZS00MTMxLTgzODctNDRjMjFkYmZmNGM4Njg1NDc3OGItNzNlMC00ZWM4LTgxNzAtNjY3 NTgyMGY3YzVhZWQyMmNiZGItOTIwZi00NGUzLTlkMjAtOTkzZTI1MjUwMDU5ZjdkYjg2M2UtZTJm YS00Y2Y2LWIwNDYtNWQ2MGRiOWQyZjFiMzJhMzYxOWQtNDE0ZS00MmRiLTk3NDgtNmM4NTczYjMx ZDIzNGRhOWU4NDAtNTBiMi00ZmE2LWE0M2ItZjU3MWFiNTI2NmQ2NTlmMTFmZjctYjg1NC00NmE1 LWEzMWItYjk3MmEwZTYyNTdk