>>hex_data"\xde\xad\xbe\xef"转换成字节数组>>>importarray>>" />
python byte 数组 和 16进制字符串转换 |
您所在的位置:网站首页 › 字节和16进制转换 › python byte 数组 和 16进制字符串转换 |
假设: hex_string = “deadbeef” 转换成字符串格式 >>> hex_data = hex_string.decode("hex") >>> hex_data "\xde\xad\xbe\xef"转换成字节数组 >>> import array >>> array.array('B', hex_data) array.array('B', [0xDE, 0xAD, 0xBE, 0xEF])转换成字节列表 >>> map(ord, hex_data) [0xDE, 0xAD, 0xBE, 0xEF]如果是2.6以后版本: >>> bytearray(hex_data) bytearray(b'\xde\xad\xbe\xef')然而有可能出现无法打印的字符串,例如:\x12\x45\x00AB 这种情况下:不要用.decode(“hex”) 下面的将返回bytearray,并在python3中正常工作 bytearray.fromhex(“de ad be ef 00”) 使用binascii import binascii a='45222e' s=binascii.unhexlify(a) b=[ord(x) for x in s]直接编写程序 data = "fef0babe" bits = "" for x in xrange(0, len(data), 2) bits += chr(int(data[x:x+2], 16))还原byte型字符串 binascii.b2a_hex(hex_data) 出自:stackoverflow |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |