Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
显然,拉丁字母是这样的。但我是在概念意义上问这个问题,跨语言和 Unicode 规范。
实际上,这是为了比较两个字符串。如果您已经知道它们的字节数不同(在所有语言中),您是否可以认为足以保证它们不是同一字符串的不同“大小写”版本?
不。
考虑 U+0069 "i",它具有69UTF-8 中的八位字节值。在大写形式 U+0130 "İ" 中,此代码点形成 UTF-8 序列C4 B0。
69
C4 B0
强制性说明:区分大小写。
Unicode 标准中没有任何原则或不变量可以保证这一点。我会特别关注重音大写字母,在这种情况下,不同情况下的预合成和非预合成之间可能存在不匹配。但是,我无法为您举一个问题的例子。