Unicode characters having asymmetric upper/lower case. Why?
Why do the following three characters have not symmetric toLower , toUpper results /** * Written in the Scala programming language, typed into the Scala REPL. * Results commented accordingly. */ /* Unicode Character 'LATIN CAPITAL LETTER SHARP S' (U+1E9E) */ '\u1e9e'.toHexString == "1e9e" // true '\u1e9e'.toLower.toHexString == "df" // "df" == "df" '\u1e9e'.toHexString == '\u1e9e'.toLower.toUpper.toHexString // "1e9e" != "df" /* Unicode Character 'KELVIN SIGN' (U+212A) */ '\u212a'.toHexString == "212a" // "212a" == "212a" '\u212a'.toLower.toHexString == "6b" // "6b" == "6b" '\u212a'