当转换为大写字母时,字符串'ß'
变得更长(在Unicode代码点中测量)(它变为'SS'
)。
是否有类似的字符串在转换为小写时会变长?
答案 0 :(得分:2)
http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt
这里有一些字符必须用多个字节处理。这些似乎主要涉及字母I和J的溺爱。
答案 1 :(得分:0)
如果我已经正确理解,这个Java会在大写版本比原始版本更长时找到
for (char chr = 0; chr < Character.MAX_VALUE; chr++) {
String str = String.valueOf(chr);
String upper = str.toUpperCase();
if (upper.length() > 1) {
System.out.println(String.format("%s => %s (%d)", str,
Arrays.toString(upper.toCharArray()), upper.length()));
}
}
输出的内容与您的原始示例相同
ß => [S, S] (2)
ʼn => [ʼ, N] (2)
ǰ => [J, ̌] (2)
ΐ => [Ι, ̈, ́] (3)
如果我将其更改为toLowerCase(),则只有一个结果
İ => [i, ̇] (2)