gpt4 book ai didi

java - C# 和 Java 的 URL 解码区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:06 25 4
gpt4 key购买 nike

我得到一个 url 编码字符串 %B9q

当我使用 C# 代码时:

string res = HttpUtility.UrlDecode("%B9q", Encoding.GetEncoding("Big5"));

输出为电,这就是我想要的正确答案

但是当我使用 Java 解码功能时:

String res = URLDecoder.decode("%B9q", "Big5");

然后我得到输出 ?q

有谁知道这是怎么发生的,我应该如何解决?

感谢您的任何建议和帮助!

最佳答案

据我所知 relevant spec ,看起来 Java 的处理方式是正确的。

尤其是在讨论 URI 到 IRI 转换时出现的示例似乎很有意义:

Conversions from URIs to IRIs MUST NOT use any character encodingother than UTF-8 in steps 3 and 4, even if it might be possible toguess from the context that another character encoding than UTF-8 wasused in the URI. For example, the URI"http://www.example.org/r%E9sum%E9.html" might with some guessing beinterpreted to contain two e-acute characters encoded as iso-8859-1.It must not be converted to an IRI containing these e-acutecharacters. Otherwise, in the future the IRI will be mapped to"http://www.example.org/r%C3%A9sum%C3%A9.html", which is a differentURI from "http://www.example.org/r%E9sum%E9.html".

关于java - C# 和 Java 的 URL 解码区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24254527/

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