我试着理解为什么URLEncodedUtils.parse(String,Charset)方法正在改变我的参数编码。
这是我的断言,我认为应该是错的,但它返回true:
assertEquals(URLEncodedUtils.parse("param1=%C3%A9", Charset.forName("UTF-8")).get(0).getValue(), "é");
由于%C3%A9已经是“é”的UTF-8编码值,我不希望它被转换。
这就是我所期望的:
assertEquals(URLEncodedUtils.parse("param1=%C3%A9", Charset.forName("UTF-8")).get(0).getValue(), "%C3%A9");
答案 0 :(得分:0)
URLEncodedUtils.parse(String,Charset)按预期工作。
实际上,http客户端应该散列“é”,然后在内容中发送%C3%A9。然后,我会在“é”中解码%C3%A9,并且可以对其进行哈希处理。