常用传输编码方式

base64编码

什么是base64编码

base64是一种基于 64 个可打印字符来表示二进制数据的方法。

base64编码过程

image

网图 - base64编码表
image

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);
}

结果:

image

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);
}

结果:

image

posted @ 2023-07-28 17:13  sunpeiyu  阅读(16)  评论(0编辑  收藏  举报