python用户输入的是q吗编码_Python编码与解码

Py3中,str类型数据在内存中是以unicode编码方式存在的。

但Unicode编码的数据无法用于文件传输,传输时,需要将其转换为bytes类型数据,然后再用其他编码方式编码如:utf-8、gbk等。

s = 'mumu'   # str类型

s = b'mumu'  # types类型

1、编码encode

将str --> types

s1 = 'mumu'

s10 = s1.encode()  # 将s1转换为types类型,为定义编码方式,结果为:b'mumu'

s11 = s1.encode('utf-8')  # 将s1转换为types类型,编码方式为utf-8  b'mumu'

s12 = s1.encode('gbk')  # 将s1转换为types类型,编码方式为gbk  b'mumu'

注意:中文型字符串,结果会转换为  b\xd6\x23\x44  (一个 \xfa 表示一个byte,当一个中文转换为两个\x00,则表示编码方式为gbk,3个则为utf-8)

2、解码decode

解析成当前环境能理解的语言(即当前环境是什么编码方式就以什么编码方式进行解码)

s = '大叔' # Python中字符串类型是以Unicode编码方式存在的

b = s.encode('utf-8') # 当把编码方式换位‘utf-8’时,则转为了bytes类型,b'\xe5\xa4\xa7\xe5\x8f\x94'

s1 = b.decode('utf-8') # 解除‘utf-8’编码,则还原为字符串,大叔

s2 = b.decode('gbk') # 以gbk的方式解码,则会出现乱码,澶у彅

英文字符串无论是‘utf-8’还是‘gbk’其都以一个byte为一个字,所以对于英文,无论哪种解码方式都能成功解码

小结:

数据类型 str --> types

编码方式 Unicode --> 其他

编码:encode

解码:decode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值