我们实现了一个HTTP身份验证连接,使用C#编码并使用Uri.EscapeDataString()
。C#Uri.EscapeDatastring()等效于Java
我试图做一个完全相同的事情作为C#版本相同的Java测试应用程序,但URLEncoder.encode(string, "UTF-8")
添加额外的编码是不完全相同的C#Uri.EscapeDataString()
函数。
什么是等效编码方法?
我们实现了一个HTTP身份验证连接,使用C#编码并使用Uri.EscapeDataString()
。C#Uri.EscapeDatastring()等效于Java
我试图做一个完全相同的事情作为C#版本相同的Java测试应用程序,但URLEncoder.encode(string, "UTF-8")
添加额外的编码是不完全相同的C#Uri.EscapeDataString()
函数。
什么是等效编码方法?
我发现要做到这一点,最好的办法是使用URL.toURI().toString()
组合:
String uriEncodeVariable = "https://localhost:443";
URL tempURL = new URL(uriEncodeVariable);
String uriResult = tempURL.toURI().toString();
我不是很流利的C#,但它看起来像你需要像URLEncoder的东西?让我们来看看SO 213506(http://stackoverflow.com/questions/213506/java-net-urlencoder-encodestring-is-deprecated-what-should-i-use-teady)?
看看Apache的StringScapeUtils,那个类的方法当然是有用的。
不幸的是,这些只提供了某些格式的标准转义字符串的方式,它们并不真正以'Uri.EscapeDataString()'的方式进行编码。 –
正如提问时说,使用URLEncoder.encode不会产生相同类型的编码字符串。 –
哇,对不起,当我阅读你的文本时,我显然不完全清醒! –