fromhex()
bytes.fromhex()
是一个内置函数,用于从十六进制字符串创建字节串(bytes)对象。
fromhex()
方法接受一个十六进制字符串作为输入,并将其转换为对应的字节串。输入的十六进制字符串可以包含数字 0-9 和小写字母 a-f(或大写字母 A-F)。
以下是使用bytes.fromhex()
的示例代码:
hex_string = "BC 10 12 34 56 78 00 E0"
byte_string = bytes.fromhex(hex_string)
print(hex_string)
print(byte_string)
输出结果:
BC 10 12 34 56 78 00 E0
b'\xbc\x10\x124Vx\x00\xe0'
在这个示例中,fromhex()
方法将十六进制字符串 “BC 10 12 34 56 78 00 E0” 转换为字节串 b'\xbc\x10\x124Vx\x00\xe0'。
请注意,fromhex()
方法返回一个字节串对象,其前缀为 b
。这表示它是一个字节串而不是字符串。
hexlify()
binascii.hexlify()
是一个来自 Python 标准库中的函数,用于将字节串(bytes)转换为十六进制字符串。
hexlify()
方法接受一个字节串作为输入,并返回一个表示其十六进制表示的字符串。返回的字符串由十六进制数字和小写字母组成,每个字节对应两个字符。
以下是使用 binascii.hexlify()
的示例代码:
import binascii
hex_string = "BC 10 12 34 56 78 00 E0"
byte_string = bytes.fromhex(hex_string)
byte_string1 = binascii.hexlify(byte_string)
print(byte_string1)
print(str(byte_string1)[2:-1].upper())
输出结果:
b'bc101234567800e0' (字节串bytes)
BC101234567800E0 (字符串str)