【问题标题】:C# Uri.EscapeDatastring() equivalent for Java等效于 Java 的 C# Uri.EscapeDatastring()
【发布时间】:2012-01-09 04:34:43
【问题描述】:

我们已经实现了一个 HTTP 身份验证连接,用 C# 编码,使用 Uri.EscapeDataString()

我正在尝试制作一个与 C# 版本完全相同的 Java 测试应用程序,但 URLEncoder.encode(string, "UTF-8") 添加了与 C# Uri.EscapeDataString() 函数不完全相同的额外编码。

等效的编码方式是什么?

【问题讨论】:

    标签: c# java urlencode


    【解决方案1】:

    我发现最好的方法是使用URL.toURI().toString() 组合:

    String uriEncodeVariable = "https://localhost:443";
    URL tempURL = new URL(uriEncodeVariable);
    String uriResult = tempURL.toURI().toString();
    

    【讨论】:

    • 记得导入java.net.URL;从 JDK1.0 (Java 6) 开始支持
    【解决方案2】:

    我对 C# 不是很流利,但看起来您需要类似 URLEncoder 的东西?让我们看看 SO 213506 (http://stackoverflow.com/questions/213506/java-net-urlencoder-encodestring-is-deprecated-what-should-i-use-instead)?

    【讨论】:

    • 正如问题中所说,使用 URLEncoder.encode 不会产生相同类型的编码字符串。
    • 很抱歉,当我阅读您的文字时,我显然没有完全清醒!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多