编码转换问题
各位老哥,我想问一下
String s = new String(content.getBytes("GBK"));
和
String s= URLEncoder.encode(content, "GBK");
这两个有什么区别吗。
为什么第一个转码了之后作为http请求参数之后接收端还是乱码
而第二种则不会乱码???
回答:
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
- java 源码
以上是 编码转换问题 的全部内容, 来源链接: utcz.com/a/166093.html