http请求特殊字符转码
Java 使⽤de和URLDecoder.decode编解码(utf-8)中⽂及特殊字符
1、de和URLDecoder.decode
URL只能使⽤英⽂字母、阿拉伯数字和某些标点符号,不能使⽤其他⽂字和符号,即
只有字母和数字[0-9a-zA-Z]、⼀些特殊符号$-_.+!*'()[不包括双引号]、以及某些保留字(空格转换为+),才可以不经过编码直接⽤于URL,如果URL中有汉字,就必须编码后使⽤。
URLDecoder类包含⼀个decode(String s,String enc)静态⽅法,它可以将application/x-www-form-urlencoded MIME字符串转成编码前的字符串;
URLEncoder类包含⼀个encode(String s,String enc)静态⽅法,它可以将中⽂字符及特殊字符⽤转换成application/x-www-form-urlencoded MIME字符串。
2、使⽤de编码
publicstaticStringurlEncode(String urlToken){
String encoded =null;
try{//⽤de⽅法会把空格变成加号(+),encode之后在替换⼀下
在线url网址编码解码encoded = de(urlToken,"UTF-8").replace("+","%20");
}catch(UnsupportedEncodingException e) {
<("URLEncode error {}", e);
}
returnencoded;
}
3、使⽤de解码
publicstaticStringurlEncode(String urlToken){
String decoded =null;
try{
decoded =URLDecoder.decode(urlToken,"UTF-8");
}catch(UnsupportedEncodingException e) {
<("URLEncode error {}", e);
}
returndecoded;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论