python - .decode('hex') Python2.7 与 Python3
问题描述
我有以下代码,它在 Python 2.7 中完全符合我的要求。它采用 regs 中的一系列整数值,并将每个值转换为其等效字符。例如,21365 ==> 0x5375 amd 将导致“Su”。
RegString = ""
for i in range(length):
if regs[start+i]!=0:
print (" Regs is ", regs[start+1], " Hex is ", hex(regs[start+i]), " Striped is ", str(format(regs[start+i],'x') ))
RegString = RegString + str(format(regs[start+i],'x').decode('hex'))
但是在 Python 3 中, decode('hex') 会引发错误。现在,我查看了许多有关此问题的帖子,但无法将这些解决方案应用于我的问题,即修改上述代码以在 Python 3 中工作。
这是我尝试运行这段代码时的输出:
Regs 是 20341 Hex 是 0x4f75 Striped 是 4f75
Traceback(最近一次调用最后一次):文件“v3Test.py”,第 23 行,在 Get_Regester_String RegString = RegString + str(format(regs[start+i],'x').decode('hex'))
AttributeError:“str”对象没有属性“decode”
谁能指出我正确的方向来修复上述失败的语句,以便它可以在 Python 3.7 中工作“ RegString = RegString + str(format(regs[start+i],'x').decode('hex')) ”。谢谢...RDK
解决方案
对于 python 3,使用以下过程
bytes.fromhex(format(regs[start+i],'x')).decode('utf-8')
推荐阅读
- python - 将复数字符串转换为实数
- sql - SQL Server HASHBYTES 不同的值
- php - 请问如何在MySQL数据库代码下面解决这个问题
- vim - 如何让 vim 在他们的配对标签上显示行?
- r - 怎么刮在 R 中
- python - 为什么我无法访问应用程序内部 gitlab-ci 中定义的 env 变量?
- postgresql - 如何对json数组进行postgresql sequelize查询
- r - 如何使用 ggplot 包在 x 轴的文本之间添加空格?
- javascript - 在快速服务器的成员变量(类实例)之间传递数据的架构/方法
- python-3.x - 命令'KEYS *'如何影响redis内存管理?