编码问题

编码问题

返回首页

  Python3 的编码:

name = "中国" #unicode

print(name.encode("utf-8"))
print(name.encode("gbk")) #编码,会把uniocde转成相应编码的同时,把字符变成bytes

print(name)
print(type(n="gb2312") #默认以utf-8解释
print(f.read())

 

  Python2 的编码:

# -*- coding:utf-8 -*-

name = "中国" #utf-8 格式的编码

print "utf-8",len(name) #
print [name.decode("utf-8")] # #你现在是什么编码,
print "unicode",len(name.decode("utf-8") )  # #你看到的并不是uinicode , 你看到的是unicode-->你的终端屏幕的编码格式

gbk = name.decode("utf-8").encode("GBK") #写要转成的目标编码
print gbk

print len(gbk.decode("GBK").encode("gb2312"))

 

  注意:

    Python2的str数据是bytes数据,Unicode数据是Unicode编码后二进制数据。

    Python3的str数据是Unicode数据,bytes数据是bytes数据。 

    Python3将字节和字符分开处理了。使其不得混用

    Python2可以将字节和字符一起处理。使其可以一起混用。

 

------- END ------

posted @ 2020-05-30 07:55  王先生是胖子  阅读(118)  评论(0编辑  收藏  举报