Python3中 bytes/str的区别

Python3中最大的新特性就是对文本和二进制数据做了更清晰的区分。文本通常是Unicode字符集,并且用str字符串类型表示,而二进制数据用bytes字节类型表示。在Python3中,字符串str和字节bytes是不可以混合使用的,这也使得二者之间更以区分。你不能将字符串和字节连接起来,不能在字符串中得到字节,也不能在字节中得到字符串,也不能通过函数传参字符串以期望得到字节,反之亦然。

字符串和字节间是由区别的,下面的关系应该牢记在心:


字符串可被编码为字节,字节可被解码为字符串

   

可以这样考虑,字符串是文本的一种抽象表示。一个字符串有很多字符组成,字符是与任何特定二进制表示无关的抽象实体。处理字符串时,可以对其进行分割、切片、连接、搜索操作。我们不关心字符串在内部是如何被表示的,也不关心它用几个字节来表示每个字符。只有在将字符串编码成字节(如用于通信信道的传输)或将字节解码成字符串时,才考虑这些问题。

编码可以将抽象字符以二进制数据的形式表示,有很多编码方法,如utf-8。编码是传输过程中非常重要的一部分,没有编码,字节对象只是一簇二进制位。是编码让位有意义。对位进行不同编码可获得不同结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值