python - 值错误 : non-hexadecimal number found in fromhex() arg at position

标签 python hex

我有一个十六进制字符串

hexDecoded = '0xa506f7374696e6720446174653a204a756c792031322c2032303038205b45426f6f6b20233238395d0a52656c6561736520446174653a204a756c792c20313939350a5b4c61737420757064617465643a204a616e756172792031332c20323031325d0a0a0a4c616e67756167653a20456e676c6973680a0a0a2a2a2a205354'

尝试获取文本为

text = bytearray.fromhex(hexDecoded.lstrip('0x')).decode()

我得到了错误

ValueError:在位置 255 的 fromhex() arg 中发现非十六进制数

当剥离的十六进制字符串的长度仅为 255 时,我无法理解为什么代码会查看十六进制字符串中的位置 255。

任何想法这里缺少什么。

感谢帮助

最佳答案

这是因为该字符串包含奇数个数字,使尾随 4 成为单例。

bytearray.fromhex('4') 产生相同的错误。

如果将其更改为 04,它会起作用。

关于python - 值错误 : non-hexadecimal number found in fromhex() arg at position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56742408/

相关文章:

Python 列表理解从平面列表映射以模仿嵌套结构

python - 优化基于另一个字段从一个字段中提取子字符串的循环

python - 存储到 MySQL 数据库时,非 Unicode 字符会更改为 "????"

python - 如何将 ASCII 字节文件作为实际字节写入二进制文件?

excel - 将负十进制数转换为十六进制

python - XOR 的 Tensorflow 在 500 个时期后无法正确预测

java - 如何在java中转换python推断类型 'any'

c - 如何连接十六进制数?

c# - 50级灰度

将十六进制字符串转换为数据