我們實現了一個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不會產生相同類型的編碼字符串。 –
哇,對不起,當我閱讀你的文本時,我顯然不完全清醒! –