Python 字符串与十六进制字符串相互转换

发布时间 2024-01-05 14:27:50作者: Dapenson

Python字符串与十六进制字符串相互转换

在编程中,有时候我们需要将字符串与十六进制字符串之间进行转换。下面我们将展示如何使用Python实现这两个功能。

1. 将字符串转换为十六进制字符串

我们可以创建一个函数 ascii_to_hex_string 来实现这个功能。该函数将输入的字符串转换为对应的ASCII码列表,然后将每个ASCII码转换为两位的十六进制字符串,并用空格连接它们。

def ascii_to_hex_string(input_str):
    ascii_list = [ord(char) for char in input_str]
    hex_string = ' '.join(format(num, '02X') for num in ascii_list)
    return hex_string

# 测试
str_test = "posTar:200\n"
result_hex = ascii_to_hex_string(str_test)
print(result_hex)

运行上述代码,输出将是:"70 6F 73 54 61 72 3A 32 30 30 0A"。

2. 将十六进制字符串转换为字符串

同样地,我们可以创建一个函数 hex_string_to_ascii 来实现将十六进制字符串转换为字符串的功能。该函数先将输入的十六进制字符串分割成整数列表,然后将每个整数转换为相应的ASCII字符,最后将它们连接起来形成最终的字符串。

def hex_string_to_ascii(hex_string):
    hex_list = [int(hex_str, 16) for hex_str in hex_string.split()]
    result_str = ''.join(chr(num) for num in hex_list)
    return result_str

# 测试
str_test_hex = "70 6F 73 54 61 72 3A 32 30 30 0A"
result = hex_string_to_ascii(str_test_hex)
print(result)

运行上述代码,输出将是:"posTar:200\n"。

以上就是将字符串与十六进制字符串相互转换的简单方法。在实际应用中,这些功能可能在数据传输、编码处理等场景中发挥作用。