我正在尝试使用
转换十六进制值的文本文件数据(以ANSI编码) line = bytearray.fromhex(x)
但它显示以下错误。
line = bytearray.fromhex(x)ValueError:找到非十六进制数 在fromhex()arg在第5位
如何实现正确的转换?请给我一个解决方案。
答案 0 :(得分:-1)
您必须先将文本编码为十六进制格式。您可以使用encode
功能。
方法encode()返回字符串的编码版本。默认编码是当前的默认字符串编码。可以给出错误以设置不同的错误处理方案。
试试这个:
line = bytearray.fromhex(x.encode("hex"))
修改强>
对于Python 3.4及更高版本,您需要通过编解码器模块和hex_codec编解码器:
line = bytearray.fromhex(codecs.encode(x, 'hex_codec'))