输入:

'0x0 0x48 0x65 0x6c 0x6c 0x6f 0x8E 0x21'

输出:
Hello!

当前解决方案:
    s = []
    birary_data = '0x0 0x48 0x65 0x6c 0x6c 0x6f 0x8E 0x21'.replace(' ', '').split('0x')
    for c in birary_data:
        if len(c) > 1:
            s.append(bytes.fromhex(c).decode('utf-8', 'ignore'))
    print("".join(s))

需要以下方面的帮助:

请问有人可以提出更优雅的解决方案吗?

最佳答案

尝试以下操作:

data = '0x0 0x48 0x65 0x6c 0x6c 0x6f 0x8E 0x21'
string = "".join([chr(int(item, 16)) for item in data.split()])
print(string)

输出:
Hello!

关于python - 将ASCII字符串编码数组转换为字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60544355/

10-12 22:43