Python3字符串为十六进制错误,但文件不在终端中

问题描述 投票:0回答:1

这是我的代码,在输入提示处输出[0] ='706965':

x = clues[0]
answer = bytes.fromhex(x).decode("ascii")
<class 'ValueError'>, ValueError('non-hexadecimal number found in fromhex() arg at position 5')

如果将0添加到线索[0],它将输出带有偏移量的第一个字符的预期输出。

x = '0'+clues[0]

然后输出为'[] ie'。 []表示特殊字符(stackoverflow忽略它)。

但是如果我在终端中运行此示例,一切正常。

>>> x = '706965'
>>> bytes.fromhex(x).decode("ascii")
'pie'
python python-3.x hex
1个回答
1
投票

docsbytes.fromhex

此字节类方法返回一个字节对象,对给定的字符串对象进行解码。该字符串每个字节必须包含两个十六进制数字,而ASCII空格将被忽略。

在字符串前加上'0'使其长度为7,因此它不能由两位对组成

© www.soinside.com 2019 - 2024. All rights reserved.