python byte 数组 和 16进制字符串转换
2015-04-29 18:29
691 查看
假设:
hex_string = “deadbeef”
转换成字符串格式
转换成字节数组
转换成字节列表
如果是2.6以后版本:
然而有可能出现无法打印的字符串,例如:\x12\x45\x00AB
这种情况下:不要用.decode(“hex”)
下面的将返回bytearray,并在python3中正常工作
bytearray.fromhex(“de ad be ef 00”)
使用binascii
直接编写程序
还原byte型字符串
binascii.b2a_hex(hex_data)
出自:stackoverflow
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
相关文章推荐
- Stream、byte数组与16进制字符串的相互转换
- 将16进制的字符串转换成byte数组
- as3加密DES过程中,1、字符串转成ByteArray(byte数组)形式 ,2、ByteArray编码成base64 3、把ByteArray转换为16进制的形式的字符串
- byte数组转换成16进制字符串
- Java中byte数组和16进制字符串互相转换
- 关于MD5加密中byte数组转换成16进制字符串的研究
- Android 字符串、byte数组与16进制数组间的转换
- 以‘-’分割,截取字符串,并将其转换为16进制的byte数组
- 16进制字符串与byte互相转换
- 加密解密基础问题:字节数组和(16进制)字符串的相互转换(转)
- C# 16进制与字符串、字节数组之间的转换 C# 16进制与字符串、字节数组之间的转换
- C# 16进制与字符串、字节数组之间的转换
- 【转】Java中byte与16进制字符串的互相转换
- C# 16进制与字符串、字节数组之间的转换(转)
- java中byte数组和String字符串怎么相互转换?(string 转 byte[]和byte[] 转 string)
- C# 16进制与字符串、字节数组之间的转换(转)
- Java中字符串和byte数组之间的相互转换
- python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
- Java的byte数组、16进制字符串、字符串
- 字符串与byte数组转换