繁体   English   中英

使用 Python3 将字节对象中的十六进制 Ascii 表示形式转换为 Ascii 字符串

[英]Convert hex Ascii representation in a bytes object to Ascii string using Python3

我想将包含 Ascii 数据的bytes对象的变量转换为字符串。
前任:

a=bytearray(b'31303031') 

我想将其转换为:

'1001'

如何在 Python3 中做到这一点?

将每一对从基数 16 转换为整数,获得适当的字符,然后连接:

''.join(chr(int(a[i:i+2], 16)) for i in range(0,len(a),2))

当然,您并没有真正拥有十六进制的bytes对象,而是一个字符串。 因此,取回字符串,创建一个真正的十六进制bytes对象,然后解码这是另一种选择:

bytes.fromhex(a.decode('ascii')).decode('ascii')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM