使用 URLDecoder 和 URLEncoder 对中文字符进行编码和解码
URLDecoder 和 URLEncoder 用于完成普通字符串 和 application/x-www-form-urlencoded MIME 字符串之间的相互转换。
向客户端发起请求时,浏览器会根据请求URL生成相应的请求报文发送给服务器。在这个过程中,如果在浏览器中的地址栏中所输入的URL包含中文字符时,浏览器首先会将这些中文字符进行编码然后再发送给服务器。实际上,浏览器会将它们转换为 application/x-www-form-urlencoded MIME 字符串。
在开发过程中,可能涉及将普通字符串和特殊字符串的相关转换,就需要使用 URLDecoder 和 URLEncoder类进行实现,其中:
URLDecoder类包含一个decode(String s,String enc)静态方法,可以将application/x-www-form-urlencoded MIME字符串转成普通字符串;
URLEncoder类包含一个encode(String s,String enc)静态方法,可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串。
仅包含西欧字符的普通字符串和application/x-www-form-urlencoded MIME字符串无须转换,而包含中文字符的普通字符串则需要转换,转换的方法是每个中文字符占2个字节,每个字节可以转换成2个十六进制的数字,所以每个中文字符将转换成“%XX%XX”的形式。当然,采用不同的字符集时,每个中文字符对应的字节数并不完全相同,所以使用URLEncoder和URLDecoder进行转换时也需要指定字符集。特别地,字符串应以同样的字符集进行编码和解码,否则会产生意想不到的结果
参考:
原文:https://blog.csdn.net/justloveyou_/article/details/57156039
浙公网安备 33010602011771号