我有一个像" <person name="peter" ><\person>"
网址编码
URLEncoder.encode(person.toString(),"UTF-8");
但是编码很糟糕,因为对于空格+
%20
和=
,他会给出其他值,你们可以帮助我吗?
答案 0 :(得分:6)
这与URLEncoder
javaDoc中指定的完全相同。空格转换为+
,=
为“不安全”,因此编码为%3D
。
如果您需要%20
代替+
,只需进行一些后期处理:
URLEncoder.encode(person.toString(),"UTF-8").replace("+", "%20");
答案 1 :(得分:0)
考虑到您的评论,我假设您想要decode网络服务答案。
// the answer you receive from the webservice
string webserviceResponse = "%3Cperson+name%3D%22peter%22%3E%3C%2Fperson%3E";
// turn into a "good" Xml string
string person = URLDecoder.decode(webserviceResponse, "UTF-8");
会给你
<person name="peter"></person>
作为person
的值。