各位老哥,我想问一下
String s = new String(content.getBytes("GBK"));
和
String s= URLEncoder.encode(content, "GBK");
这两个有什么区别吗。
为什么第一个转码了之后作为http请求参数之后接收端还是乱码
而第二种则不会乱码???
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
2 回答2.8k 阅读✓ 已解决
1.URL编码(URL encoding),也称作百分号编码(Percent-encoding), 是特定上下文的统一资源定位符 (URL)编码机制。适用于统一资源标识符(URI)的编码,也用于为"application/x-www-form-urlencoded" MIME准备数据, 因为它用于通过HTTP的请求操作(request)提交HTML表单数据。--baidu.wiki
2.将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。并且有些字符要转换为其他字符,比如' '转换为
+
.string->GBK
URL->application...(MIME)->GBK