Your Name Is Invalid!
summary
Explains why names fail: bytes vs str and how encode/decode and errors='replace' turn Š into ?; shows Python’s unicodedata for categories and casefold/normalize, demonstrates Turkish I and the uppercase ſS pitfalls, and shows combining marks breaking equality and sorting. Recommends convert bytes→str early, str→bytes late, avoid process-wide locale and use ICU (or pyuca caveats) for proper collation, and use regex \p{L} to match real letters.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 3:26Welcome
- 4:28Strings and bytes
- 6:33Other encodings
- 8:13Packages
- 10:02Other companies
- 10:49What is a letter
- 12:25Case folding
- 16:13Sorting
- 18:19Locale
- 19:36Regular Expressions
- 20:44Names
- 21:45Full Name
- 22:28Stop words
- 23:03Transcriptions
- 24:47Places
- 26:57Outro
related talks
25mWhy len 4 and other weird things you should know about strings in Python
35mPython, Locales and Writing Systems
28mMaking Acquaintances with Exotic Encodings
25mDecoding the Frustrations and Vulnerabilities of Modern Text Processing
33mPython's Transition to Multilingual Programming
24mWhy `len('😶🌫️') == 4` and other weird things you should know about strings in Python
35mText Is Not Text: The History of Strings in Python
44mA 🐍's guide to Unicode
