python各进制、字节串间的转换

>>> i = 13
>>> bin(i)
'0b1101'
>>> oct(i)
'0o15'
>>> hex(i)
'0xd'
>>> str(i)
'13'
>>> bytes(str(i),'ascii')
b'13'                #字节串     
>>> chr(i)
b'\r'         #i对应的ascii编码
>>> bytes((i,))
b'\r'                #i对应的ascii编码
>>> [ord(x) for x in str(i)]
[49,51]        #i各位对应的ascii编码值
>>> [x for x in bytes(str(i),'ascii')]
[49, 51]            #i各位对应的ascii编码值 


>>> int.from_bytes(b'13','big')
12595        #‘1’,'3'所对应的ascii编码值组合成的16位数值的和,即前8bit(49),后8bit(51)
>>> ord('1')
49
>>> 49 << 8
12544
>>> ord('3')
51

>>> (12595).to_bytes(2,'big')
b'13'      #与from_bytes()功能相反,将int类型的数值转换为字节串

 

posted @ 2016-06-28 14:37  挣扎的猪  阅读(585)  评论(0编辑  收藏  举报