在字节串上执行文本操作

就绝大部分情况而言,几乎所有能在文本字符串上执行的操作同样也可以在字节串上进行 ,如下示例:

data = b'hello world'
print(data[0:5])
print(data.startswith(b'h'))
print(data.split())
print(data.replace(b'hello', b'hi'))
b'hello'
True
[b'hello', b'world']
b'hi world'

import re
print(re.split(b'[:,]', data))  # 模式本身需要以字节串的形式来指定
[b'hello world']

还有几个显著的区别:

# 1、语义上差异
a = 'Hello World'
print(a[0])
b = b'Hello World'
print(b[0])
H
72

# 2、在字节串上是没有普通字符串那样的格式化操作的, 可以先转换为str操作后再编码回去
'{:10s} {:10d} {:10.2f}'.format("ACME", 100, 1.2345).encode('ascii')
Out[6]: b'ACME              100       1.23'
    原文作者:cook__
    原文地址: https://www.jianshu.com/p/fcc58cfe4cf3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞