概述
类型
str 字符串
bytes 字节
bytearray 字节数组
字符串编码架构
字符集:赋值一个编码到某个字符,以便在内存中表示
编码 Ecoding:转换字符到原始字节形式
解码 Decoding:依据编码名称转换原始字节到字符的过程
字符串存储
编码只作用于文件存储或中间媒介转换时
内存中总是存储解码以后的文本
字符编码
ASCII 存储在一个Byte 0-127
latin-1 存储一个Byte 128-255
UTF-8 可变字节
0-127 使用单字节
128-2047 双字节存储
> 2047 3-4Byte
每Byte使用 128-255
UTF-16 2 Byte 存储字符(另加2Byte作为标识)
UTF-32 4 Byte
内置函数
ord() 获取字符代码点
chr() 获取代码点对应字符
str.encode('编码') 将特定字符编码
bytes.decode('编码') 将字符编码解码为字符文本
类型转换
bytes:
手动声明 b' '
字符串编码 str.encode()
构造函数 bytes()
bytearray:
bytearray('字符','编码')
.decode() 解码为字符串
BOM处理
open('data.txt','w|r', encoding='utf-8-sig')