JavaScript Unicode转义反斜杠

4

可能重复:
如何解码带有转义Unicode的字符串?

我有一个JavaScript变量,其中存储了一个Unicode字符。

var value = "\\u53d3\\u5f13\\";

我正在将上述值动态添加到一个div中,由于额外的反斜杠(\\u),正确的unicode值没有显示出来。但如果我将其更改为单个反斜杠即\u而不是\\u,则Unicode符号将被正确显示。
在我的环境中,我无法使用单个反斜杠存储该值。由于响应来自服务器端...
有没有办法用单个反斜杠替换双反斜杠以显示正确的Unicode?
提前感谢。

3
这个可以回答你的问题:https://dev59.com/gmsz5IYBdhLWcg3weHgA - Vinzenz
1个回答

7

现在不再只是关于反斜杠的问题,而是关于字符串的实际内容。如果你只是替换反斜杠,你最终只会得到"u53d3u5f13"。但是,你可以轻松地对它们进行反转义(如果你不在乎任何 \uXXXX 将被替换):

function unescapeUnicode( str ) {
    return str.replace( /\\u([a-fA-F0-9]{4})/g, function(g, m1) {
         return String.fromCharCode(parseInt(m1, 16));
    });
}

var value = "\\u53d3\\u5f13\\";
unescapeUnicode(value);
"叓弓\"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接