http请求特殊字符转码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http请求特殊字符转码相关的知识,希望对你有一定的参考价值。
参考技术A Java 使用URLEncoder.encode和URLDecoder.decode编解码(utf-8)中文及特殊字符1、URLEncoder.encode和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、使用URLEncoder.encode编码
publicstaticStringurlEncode(String urlToken)
String encoded =null;
try//用URLEncoder.encode方法会把空格变成加号(+),encode之后在替换一下
encoded = URLEncoder.encode(urlToken,"UTF-8").replace("+","%20");
catch(UnsupportedEncodingException e)
logger.error("URLEncode error ", e);
returnencoded;
3、使用URLEncoder.encode解码
publicstaticStringurlEncode(String urlToken)
String decoded =null;
try
decoded =URLDecoder.decode(urlToken,"UTF-8");
catch(UnsupportedEncodingException e)
logger.error("URLEncode error ", e);
returndecoded;
以上是关于http请求特殊字符转码的主要内容,如果未能解决你的问题,请参考以下文章