大写的utf8字符总是与它们的小写变体字节数相同吗?

Hos*_*ork 8 unicode utf-8 case-insensitive

显然拉丁字母表确实如此.但我在概念意义上,跨语言和Unicode规范问这个问题.

实际上,这是为了比较两个字符串.如果您已经知道它们在所有语言中的字节数不同 - 您是否可以认为这足以保证它们不是同一字符串的不同"套管"版本?

McD*_*ell 9

没有.

考虑U + 0069"i",它具有69UTF-8 的八位字节值.在大写形式U + 0130"İ"中,此代码点形成UTF-8序列C4 B0.

强制性说明:案例是区域敏感的.

  • '我'和'我'都是一个字节.但是U + 0130是土耳其人的特殊资本.对那里的人来说,他们是"同一个字母的两个案例". (3认同)

bma*_*ies 5

Unicode标准中没有保证这一点的原则或不变量.我会特别关注重音大写字母,在这些大写字母中,预编译和非预合成之间可能存在不匹配.但是,我不能举出一个问题的例子.