操纵JavaScript Unicode

时间:2014-06-17 12:05:06

标签: javascript unicode

在下面的JavaScript代码中,第一个打印正确的符号(希腊语gamma),而第二个打印字符串'\ u03b8'。

var full_uni='\u03b8';
var part_uni='\\' + 'u03b8';
console.log(full_uni);
console.log(part_uni);

我的问题是

  1. 为什么?
  2. 如何将full_uni打印为'\ u03b8'(或类似)和/或打印part_uni作为正确的符号?

1 个答案:

答案 0 :(得分:1)

虽然没有内置的方法可以在它们之间来回转换,但你可以使用它来实现这些功能。

function decodeUnicodeSequence(str) {
    return str.replace(/\\u([0-9a-f]{4})/ig,function(_,hex) {
        return String.fromCharCode(parseInt(hex,16));
    });
}
function encodeUnicodeSequence(str) {
    return str.replace(/[\u00a0-\uffff]/g,function(chr) {
        return "\\u"+("00"+chr.charCodeAt(0).toString(16)).slice(-4);
    });
}