一尘不染

如何使用转义的unicode解码字符串?

javascript

我不确定这叫什么,所以我很难找到它。如何从解码使用Unicode字符串http\u00253A\u00252F\u00252Fexample.comhttp://example.com使用JavaScript?我想unescapedecodeURIdecodeURIComponent所以我想唯一剩下的就是字符串替换。

编辑:未键入字符串,而是来自另一段代码的子字符串。因此,要解决该问题,您必须先从以下内容开始:

var s = 'http\\u00253A\\u00252F\\u00252Fexample.com';

我希望这表明为什么unescape()不起作用。


阅读 332

收藏
2020-04-25

共1个答案

一尘不染

原始答案:

unescape(JSON.parse('"http\\u00253A\\u00252F\\u00252Fexample.com"'));
> 'http://example.com'

您可以将所有工作卸载到 JSON.parse

编辑

@MechaLynx和@ Kevin-Weber注意到unescape()非浏览器环境已弃用,并且TypeScript中不存在。decodeURIComponent是直接替代品。为了获得更大的兼容性,请改用以下内容:

decodeURIComponent(JSON.parse('"http\\u00253A\\u00252F\\u00252Fexample.com"'));
> 'http://example.com'
2020-04-25