嗯,是这样的,我有一个unicode字符串
var str = "\u7e41\u661f";
在node中使用ejs + express时
node
response.render('eg.ejs', {obj: {a: str}});
eg.ejs
<script>
var obj = '<%= obj.a%>'
</script>
结果是
<script>
var obj = '繁星'
</script>
我想要的是
<script>
var obj = '\u7e41\u661f'
</script>
请问一下该怎么做?
阿神2017-04-10 14:40:25
使用escapevar obj = '繁星'
那么转成\u形式就这么写:var str = escape(obj).replace(/%u/g,'\\u');
如果想反过来,就用一下unescapeunescape(str.replace(/\\u/g,'%u'))
迷茫2017-04-10 14:40:25
第一步中:
var str = "\\u7e41\\u661f";
见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#Using_special_characters_in_strings