【问题标题】:Hex conversion invalid escape sequence (Python)十六进制转换无效的转义序列(Python)
【发布时间】:2016-06-16 05:23:47
【问题描述】:

这是我的代码:

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 形式出现?

【问题讨论】:

    标签: python hex sha digest


    【解决方案1】:

    您可以使用string formatting 代替hex 函数:

    ...
    fp.write("\\x{0:02x}".format(ord(hashed_var[i])))
    

    【讨论】:

      猜你喜欢
      • 2016-08-14
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-06
      • 2022-01-17
      • 2010-12-15
      • 2011-08-13
      • 2018-08-16
      相关资源
      最近更新 更多