相关疑难解决方法(0)

BMP之外的JavaScript字符串

BMP是基本的多语言平面

根据JavaScript:好的部分:

JavaScript是在16位字符集的时候构建的,因此JavaScript中的所有字符都是16位宽.

这让我相信JavaScript使用UCS-2(不是UTF-16!)并且只能处理U + FFFF以前的字符.

进一步调查证实了这一点:

> String.fromCharCode(0x20001);
Run Code Online (Sandbox Code Playgroud)

fromCharCode返回Unicode字符时,该方法似乎只使用最低16位.试图获得U + 20001(CJK统一表意文字20001)而不是返回U + 0001.

问题:是否可以在JavaScript中处理后BMP字符?


2011-07-31:来自Unicode支持Shootout的 12个幻灯片:好的,坏的,以及(大部分)Ugly很好地解决了与此相关的问题:

javascript unicode utf-16 surrogate-pairs astral-plane

38
推荐指数
1
解决办法
1万
查看次数

如何将包含表情符号的字符串拆分为数组?

(您需要Firefox或Safari才能在代码中看到表情符号.)

我想带一串表情符号并用个别角色做点什么.

在JavaScript中,"?".length == 13因为"?"长度为1,其余为2.所以我们做不到

s = string.split(""); 
c = [];
c[0] = s[0]+s[1];
Run Code Online (Sandbox Code Playgroud)

这是我做的: 表情符号海报

javascript unicode emoji

16
推荐指数
7
解决办法
7792
查看次数