gpt4 book ai didi

java - 如何正确编码此 URL

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:00:56 26 4
gpt4 key购买 nike

我正在尝试使用 JSoup 获取此 URL

http://betatruebaonline.com/img/parte/330/CIGUEÑAL.JPG

即使使用编码,我也遇到了异常。我不明白为什么编码是错误的。它返回

http://betatruebaonline.com/img/parte/330/CIGUEN%C3%91AL.JPG

而不是正确的

http://betatruebaonline.com/img/parte/330/CIGUEN%CC%83AL.JPG

我该如何解决这个问题?谢谢。

private static void GetUrl()
{
try
{
String url = "http://betatruebaonline.com/img/parte/330/";
String encoded = URLEncoder.encode("CIGUEÑAL.JPG","UTF-8");
Response img = Jsoup
.connect(url + encoded)
.ignoreContentType(true)
.execute();

System.out.println(url);
System.out.println("PASSED");
}
catch(Exception e)
{
System.out.println("Error getting url");
System.out.println(e.getMessage());
}
}

最佳答案

编码没有错,这里的问题是字符“Ñ”的组合unicode和预组合unicode可以用两种方式显示,它们看起来相同但实际上不同

precomposed unicode: Ñ           -> %C3%91
composite unicode: N and ~ -> N%CC%83

我强调两者都是正确的,这取决于你想要哪种类型的 unicode:

String normalize = Normalizer.normalize("Ñ", Normalizer.Form.NFD);
System.out.println(URLEncoder.encode("Ñ", "UTF-8")); //%C3%91
System.out.println(URLEncoder.encode(normalize, "UTF-8")); //N%CC%83

关于java - 如何正确编码此 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49768599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com