怎么在Python里使用UTF-8编码

如题所述

第1个回答  推荐于2016-02-25
基本概念
在Python里有两种类型的字符串类型:字节字符串和Unicode的字符串,一个字节字符串就是一个包含字节列表。 当需要的时候,Python根据电脑默认的locale设置将字节转化成字符。 在Mac OX上默认的编码是UTF-8,但是在别的系统上,大部分是ASCII。
比如创建一个字节字符串:
byteString = "hello world! (in my default locale)"

创建一个Unicode字符串:
unicodeString = u"hello Unicode world!"

将一个字节字符串转成Unicode字符串然后再转回来:
s = "hello byte string"
u = s.decode()
backToBytes = u.encode()

以上代码使用的是系统默认的字符来出来转换的。 然而,依赖系统的区域设置的字符集不是一个好主意,或许你的程序在泰文用户的电脑上就会崩溃。 最好的办法就是为字符指定一个编码:
s = "hello normal string"
u = s.decode("UTF-8" )
backToBytes = u.encode( "UTF-8" )

现在,字节字符串s就被当成一个UTF-8字节列表去创建一个Unicode字符串u, 下一行用UTF-8表示的字符串u转换成字节字符串backToBytes.本回答被提问者和网友采纳
相似回答