C#Uri.EscapeDatastring()等效于Java

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

我正在尝试创建一个与C#版本完全相同的java测试应用程序,但URLEncoder.encode(string, "UTF-8")添加的额外编码与C# Uri.EscapeDataString()不完全相同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-instead)?