如何修复API调用中的编码问题

时间:2014-02-25 11:12:01

标签: c# web-services encoding utf-8 url-encoding

我通过HTTP调用第三方API并在参数中传递字符串。此字符串是UTF-8 URL编码。我的API客户端是用asp.net C#编写的,因为API主机可能是用Java编写的。当我在字符串参数中有像括号/括号()这样的字符时,UTF-8编码器不对它们进行编码,而API主机在%28和%29中对它们进行编码,我得到错误的响应。有任何建议如何解决这个编码问题?

(API文档指定使用UTF-8编码并建议参考此文档http://docs.oracle.com/javase/6/docs/api/java/net/URLEncoder.html

1 个答案:

答案 0 :(得分:0)

有一些鲜为人知的Uri方法:MSDN

Uri.EscapeString和Uri.EscapeDataString可能适合账单。遗憾的是,没有关于他们将编码哪些字符的MSDN文档,您只需要进行实验。