0


python 如何将十六进制值转换为字符串?

Python 中提供了几种将十六进制值转换为字符串的方法,下面将介绍其中的三种方法。

1. 使用

bytes.fromhex()

方法

bytes.fromhex()

方法可以将十六进制字符串转换为字节串,然后再将字节串转换为字符串。例如:

hex_str = "48656c6c6f20576f726c64"
byte_str = bytes.fromhex(hex_str)
str_result = byte_str.decode("utf-8")

print(str_result)  # 输出:Hello World

其中,

bytes.fromhex()

方法将十六进制字符串转换为字节串,

byte_str.decode("utf-8")

方法将字节串转换为字符串。

需要注意的是,

bytes.fromhex()

方法只能处理没有空格的十六进制字符串,如果输入的十六进制字符串包含空格,需要先将空格删除,例如:

hex_str = "48 65 6c 6c 6f 20 57 6f 72 6c 64"
hex_str = hex_str.replace(" ", "")  # 删除空格
byte_str = bytes.fromhex(hex_str)
str_result = byte_str.decode("utf-8")

print(str_result)  # 输出:Hello World

2. 使用

binascii.unhexlify()

方法

binascii.unhexlify()

方法可以将十六进制字符串转换为字节串,然后再将字节串转换为字符串。例如:

import binascii

hex_str = "48656c6c6f20576f726c64"
byte_str = binascii.unhexlify(hex_str)
str_result = byte_str.decode("utf-8")

print(str_result)  # 输出:Hello World

其中,

binascii.unhexlify()

方法将十六进制字符串转换为字节串,

byte_str.decode("utf-8")

方法将字节串转换为字符串。

需要注意的是,

binascii.unhexlify()

方法只能处理没有空格的十六进制字符串,如果输入的十六进制字符串包含空格,需要先将空格删除,例如:

import binascii

hex_str = "48 65 6c 6c 6f 20 57 6f 72 6c 64"
hex_str = hex_str.replace(" ", "")  # 删除空格
byte_str = binascii.unhexlify(hex_str)
str_result = byte_str.decode("utf-8")

print(str_result)  # 输出:Hello World

3. 使用

codecs.decode()

方法

codecs.decode()

方法可以将十六进制字符串直接转换为字符串。例如:

import codecs

hex_str = "48656c6c6f20576f726c64"
str_result = codecs.decode(hex_str, "hex").decode("utf-8")

print(str_result)  # 输出:Hello World

其中,

codecs.decode()

方法将十六进制字符串直接转换为字节串,

byte_str.decode("utf-8")

方法将字节串转换为字符串。

需要注意的是,

codecs.decode()

方法只能处理没有空格的十六进制字符串,如果输入的十六进制字符串包含空格,需要先将空格删除,例如:

import codecs

hex_str = "48 65 6c 6c 6f 20 57 6f 72 6c 64"
hex_str = hex_str.replace(" ", "")  # 删除空格
str_result = codecs.decode(hex_str, "hex").decode("utf-8")

print(str_result)  # 输出:Hello World

这三种方法都可以将十六进制值转换为字符串,选择哪一种方法取决于你的使用场景和偏好。需要注意的是,如果十六进制字符串不合法,这些方法都会抛出异常,需要对输入的十六进制字符串进行合法性检查。

标签: ubuntu windows java

本文转载自: https://blog.csdn.net/m0_72605743/article/details/129764199
版权归原作者 巨量HTTP 所有, 如有侵权,请联系我们删除。

“python 如何将十六进制值转换为字符串?”的评论:

还没有评论