python编码与解码
基本概念 字符 :表示数据和信息的字母、数字或其他符号。在电子计算机中,每一个字符与一个二进制编码相对应。 字符的标识( 码位 ):是0-1114111的数字,在Unicode标准中以 4-6个十六进制数字 表示,而且加前缀“U+”。例如,字母A的码位是U+0041,欧元符号的码位是U+20AC. 字符的具体表述 取决于所用的编码。编码是在码位和字节序列之间转换时使用的算法。在UTF-8编码中,A(U+0041)的码位编码成单个字节\x41,而在UTF-16LE编码中编码成两个字节\x41\x00。欧元符号(U+20AC)在UFT-8编码中是三个字节\xe2\x82\xac,而在UTF-16LE编码中编码成两个字节\xac\x20。 编码 :把码位转换成字节序列(通俗来说:把字符串转换成用于存储或传输的字节序列,python中是.encode()) 解码 :把字节序列转换成码位(通俗来说:把字节序列转换成人类可读的文本字符串,python中是.decode()) >>> s = 'café' >>> len(s) # Unicode字符数量 4 >>> b = s.encode('utf8') # 编码为bytes >>> b b'caf\xc3\xa9' >>> len(b) # 字节数 5 >>> b.decode('utf8') # 解码 'café 字节概要