0
点赞
收藏
分享

微信扫一扫

python之bytes与str互转

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)


举报

相关推荐

0 条评论