Re: Proposal to update Unicode handling for German s harp S (ß / ẞ) in Python’s case conversion methods

Chris Angelico via Python-list <[email protected]>
Newsgroups gmane.comp.python.general
Message-ID <CAPTjJmowY2KtBpxCsZmgpvZoAwvK8nPf=WYSexor+31CnQPmsQ@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.