Java新特性之Base64編碼
什麼是Base64編碼
java.util.Base64
是Java 8引入的對字元進行編碼解碼的類庫。
為什麼要Base64編碼
對字元進行編碼和解碼,可以運用於字串,URL,MIME中。
如何使用Base64編碼
內嵌類
類 | 說明 |
---|---|
static class Base64.Decoder | 該類實現一個解碼器用於,使用 Base64 編碼來解碼位元組資料。 |
static class Base64.Encoder | 該類實現一個編碼器,使用 Base64 編碼來編碼位元組資料。 |
方法
方法 | 說明 |
---|---|
static Base64.Decoder getDecoder() | 返回一個 Base64.Decoder ,解碼使用基本型 base64 編碼方案。 |
static Base64.Encoder getEncoder() | 返回一個 Base64.Encoder ,編碼使用基本型 base64 編碼方案。 |
static Base64.Decoder getMimeDecoder() | 返回一個 Base64.Decoder ,解碼使用 MIME 型 base64 編碼方案。 |
static Base64.Encoder getMimeEncoder() | 返回一個 Base64.Encoder ,編碼使用 MIME 型 base64 編碼方案。 |
static Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) | 返回一個 Base64.Encoder ,編碼使用 MIME 型 base64 編碼方案,可以通過引數指定每行的長度及行的分隔符。 |
static Base64.Decoder getUrlDecoder() | 返回一個 Base64.Decoder ,解碼使用 URL 和檔名安全型 base64 編碼方案。 |
static Base64.Encoder getUrlEncoder() | 返回一個 Base64.Encoder ,編碼使用 URL 和檔名安全型 base64 編碼方案。 |
例項
import java.nio.charset.StandardCharsets; import java.util.Base64; public class Test12 { public static void main(String[] args) { String s = "huangdayu.cn"; s = encoder(s); System.out.println(s); s = decoder(s); System.out.println(s); } /*** * 加密 * @param s * @return */ public static String encoder(String s) { return Base64.getEncoder().encodeToString(s.getBytes(StandardCharsets.UTF_8)); } /*** * 解密 * @param s * @return */ public static String decoder(String s) { return new String(Base64.getDecoder().decode(s), StandardCharsets.UTF_8); } }
輸出結果
aHVhbmdkYXl1LmNu huangdayu.cn