unicode和utf-8编码

unicode编码对所有字符都占16bit(2byte)
utf-8对英文数字占8bit,汉字16bit
所以处理编码时unicode由于比较统一所以处理较快
在保存文件时候utf-8更节省空间

python中的字符串在内存中是用unicode进行编码的
s.decode("UTF-8") : 把s字符串变成unicode字符串,unicode字符串才能做encode
s = "你好python"
s.decode("utf-8").encode("utf-8"):先decode成unicode再encode成utf-8

python2需要在前面加utf-8声明, python3不需要,因为python3全部按照unicode编码
所以python3中上面的例子可以是:
s = "你好python"
s.encode("utf-8")
python2中:
s = u"你好python"
s.encode("utf-8")

你可能感兴趣的:(unicode和utf-8编码)