34 lines
988 B
Python
34 lines
988 B
Python
|
import re
|
|||
|
|
|||
|
from pyasn1.codec.ber.decoder import decode
|
|||
|
|
|||
|
if __name__ == '__main__':
|
|||
|
data = b'Hello World'
|
|||
|
# 目前字节串已经支持大部分和字符串相同的操作
|
|||
|
data05 = data[0:5]
|
|||
|
print(data05)
|
|||
|
|
|||
|
is_startwith_hello = data.startswith(b'Hello')
|
|||
|
print(is_startwith_hello)
|
|||
|
|
|||
|
data_sp = data.split()
|
|||
|
print(data_sp)
|
|||
|
|
|||
|
data_suka = data.replace(b'Hello', b'Hello Suka')
|
|||
|
print(data_suka)
|
|||
|
|
|||
|
# 唯一需要注意的是,如果用re做了匹配,那记得要用字节串的形式来匹配
|
|||
|
data = b'foo:bar,spam'
|
|||
|
try:
|
|||
|
re.split('[:,]', data)
|
|||
|
except:
|
|||
|
print("匹配错误,换字节串匹配")
|
|||
|
data_bsp = re.split(b'[:,]', data)
|
|||
|
print(data_bsp)
|
|||
|
|
|||
|
# 字节串上的字符不能直接被识别,需要先用ascii解码
|
|||
|
print(data[0])
|
|||
|
print(data.decode("ascii")[0])
|
|||
|
|
|||
|
# 我的建议是除非万不得已,请不要用字节串处理文本,统一使用ascii解码成字符串后再进行操作
|