Python中的编码/解码有什么区别?

将unicode字符串表示为字节字符串称为编码。将字节字符串转换为unicode字符串称为解码。通常,在需要将unicode字符串用于IO(例如,通过网络传输它或将其保存到磁盘文件)时,通常会对其进行编码。通常,每当您从网络或磁盘文件接收到字符串数据时,就对字节字符串进行解码。

 要使用给定的编码对字符串进行编码,您可以执行以下操作:

 >>>u'æøå'.encode('utf8')
'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'

要解码字符串(使用与编码字符串相同的编码),您需要调用解码(编码)。例如:

>>>'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'.decode('utf8')
u'\xc3\xa6\xc3\xb8\xc3\xa5'

utf8编码的此字符串等效于u'æøå'