python - 如何修复 binascii.Error:使用“hex”编解码器解码失败(错误:找到非十六进制数字)
问题描述
我正在尝试使用 codecs.decode 从十六进制解码为 utf - 8。我收到一个错误,即我的字符串中有一个非十六进制数字,而我找不到类似的东西,并且在这样的网站中成功解码一:https ://onlineutf8tools.com/convert-hexadecimal-to-utf8
我试过使用不同的方法,比如 bytes.fromhex() 但我得到了同样的错误。
import codecs
hexString = "0x35303839372c312c333733002c003130003a3930"
utf = codecs.decode(hexString, "hex").decode('utf-8')
这是预期的结果:50897,1,373,10:90
我得到的错误:
binascii.Error:使用“十六进制”编解码器解码失败(错误:找到非十六进制数字)
解决方案
您将需要删除0x
前缀:
import codecs
hexString = "0x35303839372c312c333733002c003130003a3930"[2:]
utf = codecs.decode(hexString, "hex").decode('utf-8')
推荐阅读
- tensorboard - 显示过去模型的图表选项卡
- javascript - Jquery UI Datepicker禁用特定日期和所有(星期一和星期二)
- javascript - React 组件未在我的 chrome 扩展弹出窗口中显示
- c++ - 在 C++20 中将多个范围适配器连接成一个范围
- excel - 选择反向过滤器
- java - 循环有问题
- python - ORA-00936: 插入时缺少 Python 和 Oracle 的表达式
- javascript - 如何将 Firebase 承诺值返回给 graphql?
- python - 如何用2个参数多次调用一个exe(每次需要修改1个)
- java - JPA Criteria API 在复杂的 GROUP BY 上失败