【发布时间】:2017-02-08 03:31:51
【问题描述】:
这是我用于转义多字节 unicode 字符的代码。
let sample = '1F3C4-1F3FB-200D-2640-FE0F'; //????????♀️
let characters = String.fromCodePoint(...sample.split('-').map(code => parseInt(code, 16)));
let codes = '';
for(let i=0;i<characters.length;i++){
codes += (i === 0 ? '' : '-') + characters.codePointAt(i).toString(16).toUpperCase();
}
console.log(codes); //1F3C4-DFC4-1F3FB-DFFB-200D-2640-FE0F
从示例中可以看出,转换导致结果中增加了 2 个字节。
我的代码有什么问题吗?我该如何解决?
【问题讨论】:
-
代码中的
str应该改为characters吗? -
@Frxstrem 我的错。我已经修好了。感谢您的提示。
标签: javascript unicode hex