python3的decode和encode

python3默认编码为unicode,由str类型进行表示。二进制数据使用byte类型表示
字符串通过编码转换成字节码,字节码通过解码成为字符串
encode:str –> bytes
decode:bytes – > str
直接上代码:

import sys
print("print1:",sys.getdefaultencoding())
name ="中国"
name = name.encode("utf-8")
print("print2:",type(name))
name = name.decode("utf-8")
name = name.encode("gbk")
print("print4:",type(name))

结果:
这里写图片描述
分析:

  1. python3默认的编码是unicode,utf-8可以看做是unicode的一个扩展集。
  2. gbk在python中可直接转换成为utf-8,如print4所示,参考网址:
    https://www.cnblogs.com/2017Python/articles/6569750.html

字符串转换成字节(encode):


s1  = "中国"
//法1:
s1 = s1.encode('utf-8')

//方2:,缺省也是可以滴
s1 = s1.encode()

//方3:
s1 = s1.encode(encoding='utf-8')

//法4:我对此语句的理解是,现在用bytes(s1,encoding='utf-8')这个方法转换成字符节。原先是按照utf-8进行编码,
s1 =  bytes(s1, encoding='utf-8')

字节转换成字符串(decode):

s1 = "中国"
s1 = s1.encode("utf-8")

//法1:现在的s1是字节类型
str = s1.decode('utf-8')

//法2:其中1是二进制类型,我对此语句的理解是,现在用str(bytes,encoding='utf-8')这个方法转换成字符串。按照utf-8进行编码,
str1 = str(s1, encoding='utf-8')
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页