python 字符串转为十六进制字符串

python 字符串转为十六进制字符串

  • 0x00 问题
  • 0x01 解决
  • 0x02 代码

0x00 问题

我们的字符串为:hexstring = "c0a80a010f27d21e3ee5d0ced4887056425b057fffdc9286194a0000"

我们想把它转为为十六进制的形式,即每两个字母代表一个八位的十六进制数字:例如把其转为十六进制的列表:[‘0xC0’, ‘0xA8’, ‘0x0A’, ‘0x01’, ‘0x0F’, ‘0x27’, ‘0xD2’, ‘0x1E’, ‘0x3E’, ‘0xE5’, ‘0xD0’, ‘0xCE’, ‘0xD4’, ‘0x88’, ‘0x70’, ‘0x56’, ‘0x42’, ‘0x5B’, ‘0x05’, ‘0x7F’, ‘0xFF’, ‘0xDC’, ‘0x92’, ‘0x86’, ‘0x19’, ‘0x4A’, ‘0x00’, ‘0x00’]

0x01 解决

首先,将字符串转换为bytes形式,然后以十六进制的形式一次读取,位宽为两位“%02X”

0x02 代码

def bytesToHexString(data):
  temp = []
  for i in data:
    temp.append('0x%02X' % i)
  return temp
hexstring = "c0a80a010f27d21e3ee5d0ced4887056425b057fffdc9286194a0000"
print(bytes.fromhex(hexstring))
print(bytesToHexString(bytes.fromhex(hexstring)))

在这里插入图片描述

你可能感兴趣的:(python,python,字符串,十六进制)