如何在python中写入txt文件中的ascii字符?

时间:2016-07-07 00:50:40

标签: python ascii writetofile

我正在实现一个XOR方法,我想把加密的消息写入一个txt文件,但是按照我的方式,我得到了奇怪的字符而不是消息。

以下是代码:

from itertools import cycle

msg = 'RUNNINGFAST'
key = 'SADSTORY'

cipher = ''.join(chr(ord(c)^ord(k)) for c,k in zip(msg, cycle(key)))

print('%s ^ %s = %s ' % (msg, key, cipher))
msg = ''.join(chr(ord(c)^ord(k)) for c,k in zip(cipher, cycle(key)))
print('%s ^ %s = %s ' % (cipher, key, msg))

with open("XOR - Msg_Cipher.txt", "w",) as text_file:
    text_file.write("msg: %s \nCipher: %s" % (msg, cipher))

输出如下:

enter image description here

txt文件如下所示:

enter image description here

如何在txt文件中获取输出?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您实际上是在文本文件中获取所有输出。 "问题"是你的密码使用所有ASCII字符的全部范围,其中包括一些不可打印的字符。

示例,SOH是"标题的开头"符号,它在视觉上并不具有任何意义。

ASCII chart

答案 1 :(得分:0)

我认为你需要使用另一个文本编辑器。 Windows'记事本无法正确呈现控制字符。

例如,尝试使用Programmers Notepad或Notepad ++。