C#中有没有像JavaScript一样处理转义/取消转义的函数?
我有一个这样的JSON字符串:
{"Feeds":[{"Url":"www.test.com","FeedType":"Twitter"},{"Url":"www.test2.com","FeedType":"Youtube"}]}
它在escape()
之后看起来像这样
%7B%22Feeds%22%3A%5B%7B%22Url%22%3A%22www.test.com%22%2C%22FeedType%22%3A%22Twitter%22%7D%2C%7B%22Url%22%3A%22www.test2.com%22%2C%22FeedType%22%3A%22Youtube%22%7D%5D%7D
在我的C#代码中,我想取消转义这个字符串,以便它看起来与escape()
之前完全一样
这个是可能的吗?
发布于 2010-09-23 20:08:51
HttpUtility.UrlDecode
应该可以做到这一点。
发布于 2010-09-23 20:12:50
escape()
等同于
HttpUtility.UrlDecode(str, System.Text.Encoding.Default);
默认情况下,UrlDecode
使用UTF8,而escape()
不使用。
发布于 2013-04-12 04:41:53
这是我发现的处理这些问题的最好方法:
在C#中编码:
System.Uri.EscapeDataString("<string>");
在JavaScript中解码:
decodeURI("<string>");
在JavaScript中编码:
encodeURI("<string>");
在C#中解码:
System.Uri.UnescapeDataString("<string>");
更新2016年1月27日:刚刚发现了一种似乎更兼容的方法,它还对URI协议进行了编码(使用javascript的http://):
在JavaScript中编码:
encodeURIComponent("<string>");
在JavaScript中解码:
decodeURIComponent("<string>");
https://stackoverflow.com/questions/3778165
复制相似问题