java base64編碼與解碼

關於base64編碼Encode和Decode編碼的幾種方式

Base64是一種能將任意Binary資料用64種字元組合成字串的方法,而這個Binary資料和字串資料彼此之間是可以互相轉換的,十分方便。在實際應用上,Base64除了能將Binary資料視覺化之外,也常用來表示字串加密過後的內容。

早期在Java上做Base64的編碼與解碼,會使用到JDK裡sun。misc套件下的BASE64Encoder和BASE64Decoder這兩個類別,Apache Commons Codec有提供Base64的編碼與解碼功能,會使用到org。apache。commons。codec。binary套件下的Base64類別,Java 8之後,在Java 8的java。util套件中,新增了Base64的類別,可以用來處理Base64的編碼與解碼,用法如下:

import java。io。UnsupportedEncodingException;import java。util。Base64;public class Demo1 { public static void main(String[] args) throws UnsupportedEncodingException { final Base64。Decoder decoder = Base64。getDecoder(); final Base64。Encoder encoder = Base64。getEncoder(); final String text = “字串文字”; final byte[] textByte = text。getBytes(“UTF-8”); //編碼 final String encodedText = encoder。encodeToString(textByte); System。out。println(encodedText); //解碼 System。out。println(new String(decoder。decode(encodedText), “UTF-8”)); }}