我正在尝试分析一些JavaScript,其中一行是
var x = unescape("%u4141%u4141 ......"); 在表单%uxxxx中有很多字符。
我想用c#重写JavaScript,但是找不到合适的函数来解码这样的字符串。我试过了
HttpUtility.HTMLDecode("%u4141%u4141");但这根本没有改变这些字符。
我如何在c#中实现这一点?
发布于 2011-07-27 01:13:24
您可以使用UrlDecode
string decoded = HttpUtility.UrlDecode("%u4141%u4141");然后,decoded将包含"䅁䅁"。
正如其他人所指出的,将%更改为\是可行的,但UrlDecode是首选方法,因为这样可以确保其他转义符号也能被正确转换。
发布于 2011-07-27 01:17:26
你需要HttpUtility.UrlDecode。在当今的大多数情况下,你不应该使用escape/unescape,你应该使用像encodeURI/decodeURI/encodeURIComponent这样的东西。
When are you supposed to use escape instead of encodeURI / encodeURIComponent?
This question涵盖了为什么escape/unescape是一个坏主意的问题。
发布于 2012-06-30 22:23:50
您可以调用以下方法来达到与Javascript转义/取消转义方法相同的效果
Microsoft.JScript.GlobalObject.unescape();
Microsoft.JScript.GlobalObject.escape();https://stackoverflow.com/questions/6833865
复制相似问题