Английский язык, и даже этот странный вариант, американский английский :-), не единственный язык на планете. Есть некоторые очень странно выглядящие (по крайней мере, для тех, кто знаком с латинскими символами), но даже у латинских есть небольшие вариации.
Два из которых я знаю более чем случайно - греческий и немецкий:
Αα Ββ Γγ Δδ Εε Ζζ Ηη Θθ Ιι Κκ Λλ Μμ
Νν Ξξ Οο Ππ Ρρ Σσς Ττ Υυ Φφ Χχ Ψψ Ωω
Aa Ää Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn
Oo Öö Pp Qq Rr Ss ß Tt Uu Üü Vv Ww Xx Yy Zz
Вот почему нам не разрешено использовать биты кода, такие как:
char lower = upper - 'A' + 'a';
больше. Подобные действия в компании, которая серьезно относится к i18n, являются основанием для увольнения. Лучше всего использовать функции типа toLower()/toUpper()
с поддержкой Unicode.