python 的 bytes 和 str
字符串按不同的编码方式可以解释成不同的字节串,不同的字节串按照不同的编码方式也可以变成不同的字符串
>>> b = str.encode('abc')
>>> b
b'abc'
>>> b = 'abc'.encode('utf-8')
>>> b
b'abc'
>>> b = bytes("abc",'utf-8')
>>> b
b'abc'
>>> str(b'abc','utf-8')
'abc'
>>> b'abc'.decode()
'abc'
字节串就是一个字节一个字节的拼接,还可以用这种方式生成:
>>> bytes([0,1,2,3])
b'\x00\x01\x02\x03'
>>> b'\x00\x31'
b'\x001'
这个真的是有点恼火,原来只要是能打印出来的ascii,就会用可打印的ascii表示,所以这里是\x00和’1’