2

http://nedbatchelder.com/text/unipain.html中解释说:

在 Python 2 中,有两种不同的字符串数据类型。一个普通的字符串文字给你一个“str”对象,它存储字节。如果您使用“u”前缀,您将获得一个“unicode”对象,该对象存储代码点。

代码点与字节有什么区别?(我的想法并不是真正意义上的 Python 本身,而是一般意义上的概念)。本质上它只是一堆比特,对吧?我认为旧的字符串文字将每个 8 位视为一个字节并按此处理,我们将字节解释为整数,并允许我们将其映射到 ASCII 和扩展字符集。将整数解释为该字符集和将“代码点”解释为 Unicode 字符有什么区别?它说 Python 的 Unicode 对象存储“代码点”。除了可能的解释(例如,每个 Unicode 字符的位以 utf-8 开始和停止的地方)之外,这与普通的旧字节不一样吗?

4

1 回答 1

3

代码点是充当 Unicode 字符标识符的数字。无法存储代码点本身,它必须从 Unicode 编码为字节,例如 UTF-16LE。虽然某个字节或字节序列可以表示给定编码中的特定代码点,但如果没有编码信息,就没有任何东西可以将代码点连接到字节。

于 2013-06-27T05:09:10.493 回答