package t1;
import java.io.UnsupportedEncodingException;
import java.util.Base64;
public class SecBase64 {
public static void main(String[] args) throws UnsupportedEncodingException {
String original = "Hello\u00ff编码测试";
String b64 = Base64.getEncoder().encodeToString(original.getBytes("UTF-8"));
System.out.println(b64);// 末尾有一個等號表示末尾追加了一個字節,二個等號表示追加了兩個字節,對解碼無影響
String ori = new String(Base64.getDecoder().decode(b64), "UTF-8");
System.out.println(ori);
System.out.println("=========");
String original_1 = "Hello\u00ff编码测试";
// .withoutPadding()去掉末尾等號
// getUrlEncoder会把+变成—,把/变成_ 这样在url传递过程中就不会冲突。
String b64_1 = Base64.getUrlEncoder().withoutPadding().encodeToString(original_1.getBytes("UTF-8"));
System.out.println(b64_1);
String ori_1 = new String(Base64.getUrlDecoder().decode(b64_1), "UTF-8");
System.out.println(ori_1);
}
}
输出:
SGVsbG/Dv+e8lueggea1i+ivlQ==
Helloÿ编码测试
=========
SGVsbG_Dv-e8lueggea1i-ivlQ
Helloÿ编码测试
原文:https://www.cnblogs.com/dengw125792/p/12861666.html