双重转义的Unicode Javascript问题

9 javascript unicode escaping

我在显示带有嵌入式Unicode字符转义序列(\ uXXXX)的Javascript字符串时遇到问题,其中最初的"\"字符本身被转义为"\" 我需要做什么来转换字符串,以便正确评估转义序列并生成具有正确Unicode字符的输出?

例如,我正在处理输入,例如:

"this is a \u201ctest\u201d";
Run Code Online (Sandbox Code Playgroud)

试图解码"\" 使用正则表达式,例如:

var out  = text.replace('/\/g','\');
Run Code Online (Sandbox Code Playgroud)

结果输出文本:

"this is a \u201ctest\u201d";
Run Code Online (Sandbox Code Playgroud)

也就是说,Unicode转义序列显示为实际转义序列,而不是我想要的双引号字符.

Kev*_*Kev 6

事实证明,它是我们想要的unescape(),但使用'%uXXXX'而不是'\ uXXXX':

UNESCAPE(yourteststringhere.replace(/\ /克, '%'))


Kev*_*Kev 0

我不确定是否是这样,但如果您可以相信您的输入,答案可能与 eval() 有关。