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’