我不确定这叫什么,所以我很难找到它。如何从解码使用Unicode字符串http\u00253A\u00252F\u00252Fexample.com来http://example.com使用JavaScript?我想unescape,decodeURI和decodeURIComponent所以我想唯一剩下的就是字符串替换。
http\u00253A\u00252F\u00252Fexample.com
http://example.com
unescape
decodeURI
decodeURIComponent
编辑:未键入字符串,而是来自另一段代码的子字符串。因此,要解决该问题,您必须先从以下内容开始:
var s = 'http\\u00253A\\u00252F\\u00252Fexample.com';
我希望这表明为什么unescape()不起作用。
原始答案:
unescape(JSON.parse('"http\\u00253A\\u00252F\\u00252Fexample.com"')); > 'http://example.com'
您可以将所有工作卸载到 JSON.parse
JSON.parse
编辑 :
@MechaLynx和@ Kevin-Weber注意到unescape()非浏览器环境已弃用,并且TypeScript中不存在。decodeURIComponent是直接替代品。为了获得更大的兼容性,请改用以下内容:
unescape()
decodeURIComponent(JSON.parse('"http\\u00253A\\u00252F\\u00252Fexample.com"')); > 'http://example.com'