gpt4 book ai didi

javascript - 如何从基本多语言平面中转义字符?

转载 作者:行者123 更新时间:2023-11-29 20:03:17 25 4
gpt4 key购买 nike

对于Basic Multilingual Plane中的字符,我们可以使用'\uxxxx'对其进行转义。例如,可以使用/[\u4e00-\u9fff]/来匹配一个普通的汉字(0x4e00-0x9fff是CJK统一表意文字的范围)。

但是对于基本多语言平面之外的字符,它们的代码大于0xffff。所以你不能用格式'\uxxxx'来转义它,因为'\u20000'表示字符'\u2000'和字符'0',而不是编码为0x20000的字符。

如何从基本多语言平面中转义字符?直接使用这些字符不是一个好主意,因为它们不能在大多数字体中显示。

最佳答案

BMP 之外的字符不能被 Javascript 直接识别——它们在内部表示为 UTF-16 代理对。例如,您提到的字符 U+20000(当前分配给“CJK Unified Ideographs Ext. B”)表示为代理项对 U+D840 U+DC00。作为 Javascript 字符串,这将只是 "\u2840\uDC00"。 (请注意,对于此字符串,s.length 为 2,即使它显示为单个字符。)

Wikipedia has details on the encoding scheme used.

关于javascript - 如何从基本多语言平面中转义字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13204412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com