В немецком языке ß
- это символ, который существует только в нижнем регистре, так как он никогда не встречается в начале слов.
Это приводило к проблемам в типографии, если слово с ß было написано заглавными буквами.
Чтобы решить эту проблему, в Юникоде введена заглавная буква ß как U + 1E9E. В других кодовых страницах это не доступно.
Но это только типографский, официальная заглавная буква Дюдена - SS, в то время как в большинстве последних выпусков больше не запрещено использование капитала ß. Стандарт DIN определяет SS как заглавную букву ß.
Таким образом, результат Python upper()
является правильным.
Это - чтобы получить к вам актуальный вопрос - один из причины, по которым вы должны использовать lower()
вместо upper()
для нормализации строк перед сравнением.