python常用的十进制、16进制、字符串、字节串之间的转换
2017-08-04 16:19
302 查看
---------------------------------------------------------------------------------------------------------------------------------------------
整数之间的进制转换:
10进制转16进制: hex(16) ==> 0x10
16进制转10进制: int('0x10', 16) ==> 16
类似的还有oct(), bin()
int()可以将二进制,八进制,十六进制统统转成十进制
>>> int('0101110',2)
46
>>> int('7456321155',8)
1018798701
>>> int('abccf5456',16)
46117377110
--------------------------------------------------------------------------------------------------------------------------------------------------
字符串转整数:
10进制字符串: int('10') ==> 10
16进制字符串: int('10', 16) ==> 16
16进制字符串: int('0x10', 16) ==> 16
--------------------------------------------------------------------------------------------------------------------------------------------------
字节串转整数:
转义为short型整数: struct.unpack('<hh', bytes(b'\x01\x00\x00\x00')) ==> (1, 0)
转义为long型整数: struct.unpack('<L', bytes(b'\x01\x00\x00\x00')) ==> (1,)
目前表示未用到,哈哈
--------------------------------------------------------------------------------------------------------------------------------------------------
整数转字节串:
转为两个字节: struct.pack('<HH', 1,2) ==> b'\x01\x00\x02\x00'
转为四个字节: struct.pack('<LL', 1,2) ==> b'\x01\x00\x00\x00\x02\x00\x00\x00'
--------------------------------------------------------------------------------------------------------------------------------------------------
字符串转字节串:
字符串编码为字节码: '12abc'.encode('ascii') ==> b'12abc' 尼玛这个最常见
数字或字符数组: bytes([1,2, ord('1'),ord('2')]) ==> b'\x01\x0212'
16进制字符串: bytes().fromhex('010210') ==> b'\x01\x02\x10'
16进制字符串: bytes(map(ord, '\x01\x02\x31\x32')) ==> b'\x01\x0212'
16进制数组: bytes([0x01,0x02,0x31,0x32]) ==>
b715
b'\x01\x0212'
--------------------------------------------------------------------------------------------------------------------------------------------------
字节串转字符串:
字节码解码为字符串: bytes(b'\x31\x32\x61\x62').decode('ascii') ==> 12ab
字节串转16进制表示,夹带ascii: str(bytes(b'\x01\x0212'))[2:-1] ==> \x01\x0212
字节串转16进制表示,固定两个字符表示: str(binascii.b2a_hex(b'\x01\x0212'))[2:-1] ==> 01023132
字节串转16进制数组: [hex(x) for x in bytes(b'\x01\x0212')] ==> ['0x1', '0x2', '0x31', '0x32']
--------------------------------------------------------------------------------------------------------------------------------------------------
整数之间的进制转换:
10进制转16进制: hex(16) ==> 0x10
16进制转10进制: int('0x10', 16) ==> 16
类似的还有oct(), bin()
int()可以将二进制,八进制,十六进制统统转成十进制
>>> int('0101110',2)
46
>>> int('7456321155',8)
1018798701
>>> int('abccf5456',16)
46117377110
--------------------------------------------------------------------------------------------------------------------------------------------------
字符串转整数:
10进制字符串: int('10') ==> 10
16进制字符串: int('10', 16) ==> 16
16进制字符串: int('0x10', 16) ==> 16
--------------------------------------------------------------------------------------------------------------------------------------------------
字节串转整数:
转义为short型整数: struct.unpack('<hh', bytes(b'\x01\x00\x00\x00')) ==> (1, 0)
转义为long型整数: struct.unpack('<L', bytes(b'\x01\x00\x00\x00')) ==> (1,)
目前表示未用到,哈哈
--------------------------------------------------------------------------------------------------------------------------------------------------
整数转字节串:
转为两个字节: struct.pack('<HH', 1,2) ==> b'\x01\x00\x02\x00'
转为四个字节: struct.pack('<LL', 1,2) ==> b'\x01\x00\x00\x00\x02\x00\x00\x00'
--------------------------------------------------------------------------------------------------------------------------------------------------
字符串转字节串:
字符串编码为字节码: '12abc'.encode('ascii') ==> b'12abc' 尼玛这个最常见
数字或字符数组: bytes([1,2, ord('1'),ord('2')]) ==> b'\x01\x0212'
16进制字符串: bytes().fromhex('010210') ==> b'\x01\x02\x10'
16进制字符串: bytes(map(ord, '\x01\x02\x31\x32')) ==> b'\x01\x0212'
16进制数组: bytes([0x01,0x02,0x31,0x32]) ==>
b715
b'\x01\x0212'
--------------------------------------------------------------------------------------------------------------------------------------------------
字节串转字符串:
字节码解码为字符串: bytes(b'\x31\x32\x61\x62').decode('ascii') ==> 12ab
字节串转16进制表示,夹带ascii: str(bytes(b'\x01\x0212'))[2:-1] ==> \x01\x0212
字节串转16进制表示,固定两个字符表示: str(binascii.b2a_hex(b'\x01\x0212'))[2:-1] ==> 01023132
字节串转16进制数组: [hex(x) for x in bytes(b'\x01\x0212')] ==> ['0x1', '0x2', '0x31', '0x32']
--------------------------------------------------------------------------------------------------------------------------------------------------
相关文章推荐
- python常用的十进制、16进制、字符串、字节串之间的转换
- python常用的十进制、16进制、字符串、字节串之间的转换
- python常用的十进制、16进制、字符串、字节串之间的转换
- python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- python常用的十进制、16进制、字符串、字节串之间的转换
- python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- python常用的十进制、16进制、字符串、字节串之间的转换
- python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- IOS中常用的字符串、十进制、二进制、十六进制之间互相转换及简单算术和
- Python中unicode编码的字符串和其他格式的字符串之间进行转换
- Python 16进制与字符串的转换
- iOS 16进制字符串转换成int十进制
- iOS 一个在UDP/TCP通信时,对16进制、10进制、NSData等数据之间的转换发送等处理的工具类库,一行代码将16进制字符串轻松转换成UDP需要的指令数据
- c#实现16进制和字符串之间转换的代码
- C# 16进制与字符串、字节数组之间的转换
- 【转】C++ 字符串与16进制字符串之间的转换