gpt4 book ai didi

javascript - 将 JavaScript 字符串拆分为代码点数组? (考虑到 "surrogate pairs"但不是 "grapheme clusters")

转载 作者:可可西里 更新时间:2023-11-01 01:39:28 26 4
gpt4 key购买 nike

将 JavaScript 字符串拆分为“字符”可以轻松完成,但如果您关心 Unicode(并且您应该关心 Unicode),就会出现问题。

JavaScript native 将字符视为 16 位实体 (UCS-2 or UTF-16),但这不允许 BMP (Basic Multilingual Plane) 之外的 Unicode 字符.

要处理 BMP 之外的 Unicode 字符,JavaScript 必须考虑“surrogate pairs”,而它本身并不这样做。

我正在寻找如何按代码点拆分 js 字符串,代码点是否需要一个或两个 JavaScript“字符”(代码单元)。

根据自己的需要,按codepoint拆分可能还不够,您可能希望按“grapheme cluster”拆分,其中簇是一个基本代码点,后跟所有非间距修饰符代码点,例如 combining accents and diacritics .

出于这个问题的目的,我不需要按字素簇进行拆分。

最佳答案

@bobince 的回答(幸运的是)变得有点过时了;你现在可以简单地使用

var chars = Array.from( text )

获取符合 astral/32bit/surrogate Unicode 字符的单代码点字符串列表。

关于javascript - 将 JavaScript 字符串拆分为代码点数组? (考虑到 "surrogate pairs"但不是 "grapheme clusters"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21397316/

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