十六进制转换无效转义序列 (Python)
Hex conversion invalid escape sequence (Python)
这是我的代码:
from Crypto.Hash import SHA
<Receive a variable from the user, 'var'>
hashed_var = SHA.new(var).digest()
fp = open("file.txt", 'a')
for i in range(0, len(hashed_var)):
fp.write(hex(ord(hashed_var[i]))
这实际上是在文件中写入散列变量的十六进制表示。问题是,当我查看文件的内容时,有一些十六进制字符,如 \xd、\x2 等。当我将其放入字符串时会引发错误,我收到错误消息 invalid \x escape
。如何修复我的代码,使所有十六进制字符都以 \xhh 形式出现?
您可以使用 string formatting 代替 hex
函数:
...
fp.write("\x{0:02x}".format(ord(hashed_var[i])))
这是我的代码:
from Crypto.Hash import SHA
<Receive a variable from the user, 'var'>
hashed_var = SHA.new(var).digest()
fp = open("file.txt", 'a')
for i in range(0, len(hashed_var)):
fp.write(hex(ord(hashed_var[i]))
这实际上是在文件中写入散列变量的十六进制表示。问题是,当我查看文件的内容时,有一些十六进制字符,如 \xd、\x2 等。当我将其放入字符串时会引发错误,我收到错误消息 invalid \x escape
。如何修复我的代码,使所有十六进制字符都以 \xhh 形式出现?
您可以使用 string formatting 代替 hex
函数:
...
fp.write("\x{0:02x}".format(ord(hashed_var[i])))