【发布时间】:2019-09-09 09:40:26
【问题描述】:
我正在尝试将旧的 python2 代码转换为 python3,我遇到了 strings 与 bytes 的问题
在旧代码中,执行了这一行:
'0x' + binascii.hexlify(bytes_reg1)
在 python2 中 binascii.hexlify(bytes_reg1) 返回一个 string 但在 python3 中它返回 bytes,因此它不能连接到 "0x"
TypeError: can only concatenate str (not "bytes") to str
我尝试将其转换为字符串:
'0x' + str(binascii.hexlify(bytes_reg1))
但我得到的结果是:
"0xb'23'"
它应该是:
"0x23"
如何将字节转换为 23 而不是 b'23' 以便在连接 '0x' 时得到正确的字符串?
【问题讨论】:
-
嗨——这里的
bytes_reg1是什么? -
这是
bytes_reg1 = struct.pack(">H", reg1)的结果
标签: python-3.x string