【发布时间】:2013-10-21 12:22:14
【问题描述】:
我有一个混合使用 unicode 字符 \u0421、'С' 和 \u0043、'C' 的数据集。是否存在某种认为这两个字符相同的 unicode 比较?到目前为止,我已经尝试了几种 ICU 排序规则,包括俄罗斯的排序规则。
【问题讨论】:
-
运气不好,因为西里尔字母 C 是拉丁字母 S。你可以制作一个 CharsetEncoder/Decoder。但是,为什么不使用
Comparator<String>来处理AaBCcEeHKMOoPpTUuXxYy(或左右)。请注意,塞尔维亚人知道j,白俄罗斯人知道i。也许您可以使用 Arial Unicode MS 的字体字形并导出视觉相似度表。 -
请注意,对于 UTF16,构建一个 65K 字符数组来从一个字符集转换为另一个字符集是很实用的。但是,对 UTF32 进行了深入研究,它变得太大而无法实用。
标签: unicode normalization collation unicode-normalization accent-insensitive