python - 如何将十六进制列表转换为 ASCII 值列表?

标签 python hex ascii

我们以十六进制字符串 0x790x760x7d0x7d0x80 为例。

ct=input()
hex_list=ct.split('0x')
print(hex_list)
ascii_values=[]
for i in hex_list:
    if i!="" :
       (ascii_values).append(ascii(i))
print(ascii_values)

我得到这个输出:

['', '79', '76', '7d', '7d', '80']
["'79'", "'76'", "'7d'", "'7d'", "'80'"]

但所需的输出是将十六进制值转换为 ASCII。

最佳答案

这会将字节列表转换为 ASCII,但 0x80 是无效的 ASCII 字符代码。见下文:

ct = '0x790x760x7d0x7d0x80'
hex_list = ct.split('0x')
ascii_values=[]
for i in hex_list:
    print(i)
    if i != '':
        try:
            bytes_object = bytes.fromhex(i)
            ascii_string = bytes_object.decode("ASCII")
            ascii_values.append(ascii(ascii_string))
        except UnicodeDecodeError:
            print('Invalid ASCII... skipping...')
print(ascii_values)

查看答案here关于 0x80。

关于python - 如何将十六进制列表转换为 ASCII 值列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72382321/

相关文章:

python - 如何以不区分大小写的方式从列表中删除单词?

Python:计数直到列表中的元素是元组

java - 如何用java语言将字符 'A'转换为二进制 '1010'

python-3.x - 当对列表中的元素进行位移位时,python3 返回不支持的操作数?

java - 在Java中用ASCII和Hex形式初始化一个字节有什么区别吗?

c++ - 从 ascii 到位但不是相反

python - 内部类不能互相引用,有没有更Pythonic的方式?

python - 如何以自动方式在python中设置当前工作目录

rust - 如何使用 Serde 在反序列化期间转换字段?

android - 如何使用包含下划线的url调用Web服务