gpt4 book ai didi

java - 分隔 Unicode 连字字符

转载 作者:IT老高 更新时间:2023-10-28 21:00:42 30 4
gpt4 key购买 nike

在大量的 unicode 字符中,有一些实际上表示多个字符,例如两个 'f' 字符的 U+FB00 连字 ff。有什么方法可以轻松地将这样的字符转换为多个单个字符?最好是标准 Java API 中可用的东西,但如果需要,我可以引用外部库。

最佳答案

U+FB00 是兼容字符。通常,Unicode 不支持连字的单独代码点(认为这是一个布局决定是否以及何时应该使用连字,并且不应该影响数据的存储方式)。其中少数仍然存在,以允许与旧编码的往返转换兼容性确实将连字表示为单独的实体。

幸运的是,在 Unicode data file 中,连字所代表的字符信息 存在。并且大多数功能强大的字符串处理系统都内置了该数据。

在 Java 中,您需要使用 the Normalizer classNFKC形式:

String ff ="\uFB00";
String normalized = Normalizer.normalize(ff, Form.NFKC);
System.out.println(ff + " = " + normalized);

这将打印出来

ff = ff

关于java - 分隔 Unicode 连字字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171377/

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