第 4 章 文本和字节序列

人类使用文本,计算机使用字节序列。1

——Esther Nam 和 Travis Fischer
“Character Encoding and Unicode in Python”

1PyCon 2014,“Character Encoding and Unicode in Python”演讲的第 12 张幻灯片 [ 幻灯片(http://www.slideshare.net/fischertrav/character-encoding-unicode-how-to-with-dignity-33352863),视频(http://pyvideo.org/pycon-us-2014/character-encoding-and-unicode-in-python.html)]。

Python 3 明确区分了人类可读的文本字符串和原始的字节序列。隐式地把字节序列转换成 Unicode 文本已成过去。本章将要讨论 Unicode 字符串、二进制序列,以及在二者之间转换时使用的编码。

深入理解 Unicode 对你可能十分重要,也可能无关紧要,这取决于 Python 编程的场景。说到底,本章涵盖的问题对只处理 ASCII 文本的程序员没有影响。但是即便如此,也不能避而不谈字符串和字节序列的区别。此外,你会发现专门的二进制序列类型所提供的功能,有些是 Python 2 中“全功能”的 str 类型不具有的。

本章将讨论下述话题:

接下来先从字符、码位和字节序列开始。