On Sun, 19 Oct 2025 at 11:03, <[email protected]> wrote: > > Thanks Chris for the response! > > As The Unicode Standard does define an uppercase form for the German sharp S > (U+00DF → U+1E9E), and this has been part of Unicode since version 5.1 > (2008), with the German orthography officially adopting it in 2017. The > relevant case mappings are clearly specified in the Unicode Character > Database (CaseFolding.txt / SpecialCasing.txt), so Unicode itself does > recognize this direct uppercase/lowercase relationship. > > The current Python behavior (mapping "ß" → "SS") reflects older, legacy > Unicode data — not the current standard. Languages and libraries that have > updated their Unicode handling (like Java ≥9, ICU, Swift, etc.) already > perform this mapping correctly ("ß".upper() → "ẞ"). >
The character has indeed been a part of Unicode for a long time. But version 17 of Unicode still specifies the same behaviour: https://www.unicode.org/Public/17.0.0/ucd/CaseFolding.txt 00DF; F; 0073 0073; # LATIN SMALL LETTER SHARP S This isn't just older Unicode data, it's also the current standard. Are you sure that other languages behave this way, or did an AI generate this email for you? ChrisA -- https://mail.python.org/mailman3//lists/python-list.python.org
