一、概念
计算机只能看懂
bytes
,计算机中一切均为bytes
(字节):硬盘文件、网络传输、程序的输入、输出均由byte组成Unicode 字符称为代码点(code point)用 U 后面加上 XXXX (其中, X 为16进制的字符)来表示字符
Unicode 标准定义了多种编码(encoding)方法将
bytes
表示成代码点;其中,对 Unicode 进行传播和存储的最流行编码方式为 UTF-8 ,它用不同的bytes
来表示每一个代码点。
二、关于python
Python2 中,
str
对象存储的是bytes
。带u前缀的字符串是“unicode” 对象,存储的是 code pointsUnicode 字符串有 encode 方法来产生
bytes
;bytes
字符串有 decode 方法转换成 unicode ;两种方法都需要指定编码类型Python 3 中,
str
存储的是 unicode,bytes
类型存储的是 byte 串。可以通过加b 前缀来制造 byte字符串
三、策略
输入时,将
bytes
流 解码成 unicode。程序中均使用 unicode
输出时,编码成
bytes
流。