在URL GET/POST请求java中转换特殊字符
我有一个问题,如何在Java中转换:在URL GET/POST请求java中转换特殊字符,java,string,web,get,Java,String,Web,Get,我有一个问题,如何在Java中转换: String word="Conformément"; 到 这: 第二个在字符串通过web时被转换 提前感谢,, 米哈伊尔你可以 String encodedWord = URLEncoder.encode(word, "UTF-8"); 您可能希望按照其他线程中的建议使用URLEncoder.encode()。这取决于您希望在URI的哪个部分插入这个单词 您最好的选择是使用支持的库。和(无耻的插头) 只需创建一个模板并填写正确的值。我也可以帮助您创建模
String word="Conformément";
到
这:
第二个在字符串通过web时被转换
提前感谢,,
米哈伊尔你可以
String encodedWord = URLEncoder.encode(word, "UTF-8");
您可能希望按照其他线程中的建议使用
URLEncoder.encode()
。这取决于您希望在URI的哪个部分插入这个单词
您最好的选择是使用支持的库。和(无耻的插头)
只需创建一个模板并填写正确的值。我也可以帮助您创建模板
不,URLEncoder.encode()
不适用于此作业。引用该项目的自述:
这种方法有一个非常常见的误解。它不对URI中使用的字符串进行编码,而是对POST数据中使用的字符串进行编码,即对应用程序/x-www-form-urlencoded数据进行编码;在这种编码中,空格变成+,而不是%20
下面是一个模板示例,其中单词将出现在查询部分:
http://my.site/some/where?word={word}
使用上述库,代码将为:
final URITemplate tmpl = new URITemplate("http://my.site/some/where?word={word}");
final VariableMapBuilder builder = VariableMap.newBuilder();
builder.addScalarValue("word", "Conformément");
tmpl.toString(builder.freeze()); // returns the correct result
// Or:
tmpl.toURI(builder.freeze());
tmpl.toURL(builder.freeze());
嗨,我需要相反的组合。类似于->%C3%A9的组合
final URITemplate tmpl = new URITemplate("http://my.site/some/where?word={word}");
final VariableMapBuilder builder = VariableMap.newBuilder();
builder.addScalarValue("word", "Conformément");
tmpl.toString(builder.freeze()); // returns the correct result
// Or:
tmpl.toURI(builder.freeze());
tmpl.toURL(builder.freeze());