【发布时间】:2015-12-23 09:55:32
【问题描述】:
嘿,我需要解码十六进制并写入文本文件,但我只能对其进行编码而不是解码。 我已经编写了一个脚本来编码,它可以工作并打印到名为 encode.txt 的文本文件中。
import binascii
with open('encoded.txt','r') as text:
a = text.readlines()
for x in a:
b = binascii.unhexlify(x)
with open('decoded.txt','a') as done:
done.write(b + "\n")
到目前为止,我编码(打印“Hello World!”)返回 7072696e74202248656c6c6f20576f726c642122 但是当我尝试对其进行解码时,它返回一个错误,指出它是奇怪的长度字符串。这可能是因为我在编码器中使用了“\n”吗? 谢谢你
【问题讨论】:
-
如果您认为它可能是由空格引起的,请在解码之前尝试
stripping 字符串 -
我正在尝试解码 7072696e74202248656c6c6f20576f726c642122 以尝试获取(打印“Hello World!”)
-
@IsithaSubasinghe:如果你使用
print repr(x),你会发现你没有'7072696e74202248656c6c6f20576f726c642122',而是'7072696e74202248656c6c6f20576f726c642122\n'。
标签: python encoding hex ascii decoding