常用传输编码方式
base64编码
什么是base64编码
base64是一种基于 64 个可打印字符来表示二进制数据的方法。
base64编码过程
网图 - base64编码表
java实现base64编码
public static void main(String[] args) {
// base64编码
String content = "<html><head></head><body></body></html>";
byte[] contentArr = content.getBytes(StandardCharsets.UTF_8);
String encodeStr = Base64.getEncoder().encodeToString(contentArr);
System.out.println("encode " + encodeStr);
String decodeStr = StrUtil.str(Base64.getDecoder().decode(encodeStr), StandardCharsets.UTF_8);
System.out.println("decode " + decodeStr);
}
结果:
url编码
使用场景
URL 地址中,只允许出现英文相关的字母、标点符号、数字,因此,在 URL 地址中不允许出现中文字符。如果URL中需要包含中文这样的字符,则必须对中文字符进行编码(转义)。
简单来说:使用英文字符去表示非英文字符。
java实现url编码
public static void main(String[] args) throws UnsupportedEncodingException {
String content = "<html><head></head><body></body></html>";
// url编码
String urlEncode = URLEncoder.encode(content, StandardCharsets.UTF_8.name());
System.out.println("url encode " + urlEncode);
String urlDecode = URLDecoder.decode(urlEncode, StandardCharsets.UTF_8.name());
System.out.println("url decode " + urlDecode);
}
结果: