System.Net.WebUtility.HtmlDecode("%5B0%2C1%2C6%5D")无法解码

时间:2014-05-21 06:44:11

标签: c# winforms html-encode httplistener

我在Windows窗体.net 4.0上使用HttpListener手动列出端口80 框架。

所以当我得到内容时,我会在其中一个参数上得到以下文字。"%5B0%2C1%2C6%5D" 该请求来自ios设备。

System.Net.WebUtility.HtmlDecode("%5B0%2C1%2C6%5D") 

无法解码。

解码应返回" [0,1,6]"

http://www.url-encode-decode.com/可以解码它。 如果我使用iis和.net 4.0也可以解码它。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您想要UrlDecode,而不是HtmlDecode

"%XX"是十六进制编码的ASCII值,根据本文档:http://www.w3.org/International/O-URL-code.html用于编码URI中的保留字符或扩展字符。

" HTML编码" (或者通常,SGML实体)以&符号开头,例如&<。“

顺便说一句,如果你想从客户端应用程序(例如WinForms或WPF)执行URL解码/编码或HTML解码/编码,请不要使用System.Web.*因为System.Web.dll不一定由于.NET客户端配置文件在每个系统上都可用(尽管这仅适用于.NET 4.0,.NET 4.5及更高版本,所有这些都附带System.Web.dll,请参见此处:http://msdn.microsoft.com/en-us/library/cc656912(v=vs.110).aspx