我正在尝试评估不区分大小写的 UTF-8 字符串比较的不同策略。
我已经阅读了 Unicode 联盟的一些材料,对 ICU 进行了试验,并尝试提出各种实现质量的替代方案。
我多次看到简单案例映射和完整案例映射之间的文本不同,我想确保我完全理解这种差异。
当我读到它时,简单案例映射是“无上下文的”,即不需要知道有效负载是什么语言。由于突厥语“I/ı/İ/i”的崩溃,这将给出近似结果。
另一方面,完整案例映射需要知道有效负载的语言才能执行映射。有了这些额外的信息,它可以采取特殊措施来覆盖作为突厥语字符串的“Kim”应该变成大写的“KİM”,但作为英文字符串的“Kim”应该变成大写的“KIM”的情况。
我说对了吗?
是否还有其他“多面”代码点的示例对于不同语言的折叠方式不同?
谢谢!
更新:将简单案例映射作为语言独立的来源之一是ICU 的文档。我将其解释为 Unicode 事实,但也许它只是实现的声明?