我想要分析一些 JavaScript
,其中有一行是:
var x = unescape("%u4141%u4141 ......");
这段文本中有很多形式为%uxxxx
的字符。
我想用重写,但无法找到适当的函数来解码这种字符的字符串。我已经尝试过以下方法:
HttpUtility.HTMLDecode("%u4141%u4141");
但这并没有改变这些字符。
我怎样才能在c#中实现这个?
我想要分析一些 JavaScript
,其中有一行是:
var x = unescape("%u4141%u4141 ......");
这段文本中有很多形式为%uxxxx
的字符。
我想用重写,但无法找到适当的函数来解码这种字符的字符串。我已经尝试过以下方法:
HttpUtility.HTMLDecode("%u4141%u4141");
但这并没有改变这些字符。
我怎样才能在c#中实现这个?
string decoded = HttpUtility.UrlDecode("%u4141%u4141");
decoded
会包含"䅁䅁"
。
正如其他人指出的那样,将%
更改为\
可以工作,但是首选方法是使用UrlDecode
,因为它可以确保其他转义的符号也正确翻译。
HttpUtility.UrlDecode
。现在大多数情况下不应该使用 escape/unescape
,而应该使用像 encodeURI/decodeURI/encodeURIComponent
这样的东西。
什么时候应该使用 escape 而不是 encodeURI/encodeURIComponent?
这个问题 解决了为什么 escape/unescape
是一个坏主意的问题。
Microsoft.JScript.GlobalObject.unescape();
Microsoft.JScript.GlobalObject.escape();
编辑 web.config 文件中的以下参数:
< globalization requestEncoding="iso-8859-15" responseEncoding="utf-8" >responseHeaderEncoding="utf-8"
在 < system.web >
中。
HttpUtility.UrlDecode
就是正确的方法... - Philip DaubmeierHttpUtility.UrlDecode
是正确的选择... - Philip Daubmeier