在下面的 JavaScript 代码中,第一个输出正确的符号(希腊 Gamma ),而第二个输出字符串“\u03b8”。
var full_uni='\u03b8';
var part_uni='\\' + 'u03b8';
console.log(full_uni);
console.log(part_uni);
我的问题是
- 为什么?
- 如何将
full_uni
打印为“\u03b8”(或类似符号)和/或将part_uni
打印为正确的符号?
最佳答案
虽然没有内置方法可以在它们之间来回切换,但您可以创建函数来执行此操作。
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);
});
}
关于javascript - 操作 JavaScript Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24263345/