如何解码如下字符串:
NAME1 = ABC&用户id = DEF&NAME2 = ZYX&有效载荷=%3cSTAT +的xmlns%3axsi%3D%22http%3A%2F%2fwww.w3.org%2f2001%2fXMLSchema实例%22%3E%3cREQ ...
背景:我接受HTTP POST(基本上是名称值对),然后将字节数组转换为字符串:
Encoding.UTF8.GetString(response, 0, response.Length);
Run Code Online (Sandbox Code Playgroud)
我已经尝试过WebUtility和HttpUtility的HtmlDecode方法,但似乎得到了相同的字符串.
你试过HttpUtility.UrlDecode吗?
看到这里.
请注意,此功能与此功能完全不同HttpUtility.HtmlDecode.
编辑:回答关于UrlDecode和之间的差异的问题UnescapeDataString:
引述MSDN页面上UnescapeDataString:
许多Web浏览器将URI内的空间转换为加号("+")字符; 但是,UnescapeDataString方法不会将加号字符转换为空格,因为此行为在所有URI方案中都不是标准的.
UrlDecode 尽管如此,如果你尝试以下方法,你会得到不同的回答:
string a = Uri.UnescapeDataString(".Net+Framework"); //returns ".Net+Framework"
string b = HttpUtility.UrlDecode(".Net+Framework"); //returns ".Net Framework"
Run Code Online (Sandbox Code Playgroud)
因此,为了更好的覆盖,似乎HttpUtility.UrlDecode是更好的选择.
| 归档时间: |
|
| 查看次数: |
8623 次 |
| 最近记录: |