python字符串和字节串有什么区别_python – 字符串和字节字符串之间的区别是什么?...

在Python 2中,str和字节是相同的类型:

>>> bytes is str

True

在Python 3中,str类型是Python 2的unicode类型,它是所有字符串的默认编码。

假设unicode字符串正在与字节进行比较,

字符串是一个字符序列,即unicode codepoints;这些是一个抽象的概念,不能直接存储在磁盘上。字节字符串是一个不出奇的字节序列,可以存储在磁盘上。它们之间的映射是一个编码 – 有很多这些(和无限多可能) – 你需要知道哪些应用在特定情况下为了进行转换,因为不同的编码可能映射相同的字节到不同的字符串:

>>> b'\xcf\x84o\xcf\x81\xce\xbdo\xcf\x82'.decode('utf-16')

'蓏콯캁澽苏'

>>> b'\xcf\x84o\xcf\x81\xce\xbdo\xcf\x82'.decode('utf-8')

'τoρνoς'

一旦你知道要使用哪个,你可以使用字节字符串的.decode()方法从它得到正确的字符串如上。为了完整性,字符串的.encode()方法以相反的方式:

>>> 'τoρνoς'.encode('utf-8')

b'\xcf\x84o\xcf\x81\xce\xbdo\xcf\x82'

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值