很容易理解,但也许不容易回答。
Unicode中有0x110000个不同的代码点。
某些代码点(我认为)不会出现在任何案例折叠的字符串中。我想尽可能准确地知道有多少这些。
答案 0 :(得分:1)
案例折叠算法有多个版本(并且算法可针对不同的语言/上下文进行自定义),但在使用Unicode标准中指定的算法时:在CaseFolding.txt
中具有映射的任何代码点(至少具有C
状态,S
或F
)不能出现在包含大小写字符串的字符串中。
对于真正不区分大小写的比较,具有NFKC规范化形式或Default_Ignorable_Code_Point
属性的字符也将被替换,并且不会出现。这是DerivedNormalizationProps.txt
中NFKC_Casefold
映射的字符集 - 总共10,146个代码点。