Working with Unicode and encodings might be confusing, but every developer must know how they work. Even if the full Unicode standard is actually quite complex, only a few basic concepts are really necessary to work with Python and Unicode:
- the differences between Unicode strings and bytes;
- how encodings are used to store characters;
- the differences between different encodings;
- how to understand Unicode-related errors;
This talk aims to explain these concept. Best practices for using Unicode, the current status of Unicode in Python 2 and 3, and the plans for the future (e.g. PEP393 - Flexible string representation) will also be discussed. The talk is suitable for both new developers that are not yet familiar with Unicode and for experienced developers that want to understand better what's going on under the hood.