📜  如何在 python 中解码十六进制(1)

📅  最后修改于: 2023-12-03 15:38:24.266000             🧑  作者: Mango

如何在 Python 中解码十六进制

在 Python 中,我们可以使用 binascii 模块中的 hexlify()unhexlify() 函数来进行十六进制的编码和解码。

十六进制编码

十六进制编码,即将普通的字符串转换为十六进制字符串。

import binascii

# 编码前的字符串
str_before = "Hello, World!"

# 将字符串编码为十六进制字符串
hex_str = binascii.hexlify(str_before.encode('utf-8'))

# 输出十六进制字符串
print(hex_str)

输出:

b'48656c6c6f2c20576f726c6421'

可以看到,原先的字符串被编码为了一堆十六进制字符组成的字符串。需要注意的是,编码的字符串需要先转换为 bytes 类型才能使用 hexlify() 函数。

十六进制解码

十六进制解码,即将十六进制字符串转换回普通的字符串。

import binascii

# 十六进制字符串
hex_str = b'48656c6c6f2c20576f726c6421'

# 将十六进制字符串解码为普通字符串
str_after = binascii.unhexlify(hex_str).decode('utf-8')

# 输出解码后的字符串
print(str_after)

输出:

Hello, World!

同样需要注意的是,解码后的字符串需要使用 decode() 函数进行解码,并且结果为 bytes 类型,需要再次转换为 str 类型。