Unicode 大写utf8字符是否总是与其小写变体相同的字节数?

Unicode 大写utf8字符是否总是与其小写变体相同的字节数?,unicode,utf-8,case-insensitive,Unicode,Utf 8,Case Insensitive,显然,拉丁字母表也是如此。但我是在概念上问这个问题,跨越语言和Unicode规范 实际上,这是用来比较两个字符串的。如果您已经知道它们不是所有语言中相同的字节数,那么您可以认为足够保证它们没有相同的“字符串”版本的同一个字符串吗? < P>在Unicode标准中没有原则或不变量来保证这一点。我会特别关注重音大写,因为在不同的情况下,预合成和非预合成之间可能存在不匹配。然而,我不能为您举出一个问题的例子。不 考虑U+0069“i”,它在UTF-8中具有八位字节值69。在大写形式U+0130“İ”中

显然,拉丁字母表也是如此。但我是在概念上问这个问题,跨越语言和Unicode规范


实际上,这是用来比较两个字符串的。如果您已经知道它们不是所有语言中相同的字节数,那么您可以认为足够保证它们没有相同的“字符串”版本的同一个字符串吗?

< P>在Unicode标准中没有原则或不变量来保证这一点。我会特别关注重音大写,因为在不同的情况下,预合成和非预合成之间可能存在不匹配。然而,我不能为您举出一个问题的例子。

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


必须注意:大小写区分区域设置。

我对Unicode和这方面的世界方式知之甚少。但是在大写/小写转换中丢失信息是典型的/有效的吗?如果不能唯一地来回转换,那么将这两个字母称为“同一字母的大小写”公平吗?'i'和'i'都是一个字节。但U+0130是土耳其语的特殊首都I。对那里的人来说,它们是“同一个字母的两个字母”。@b很高兴知道……那么,我想你必须仔细检查每个字符,然后进行不区分大小写的比较,然后。@HostileFork我建议使用大小写映射和Unicode规范来获取更多信息。请注意,大写utf-8字符串的字符数甚至可能与小写对应的字符数不同:“ß”->“SS”