编程语言
首页 > 编程语言> > 写出文本文件时出现Python奇怪字符

写出文本文件时出现Python奇怪字符

作者:互联网

我这里有一个简单的代码,应该在文本文件中输出2列字符.

infile = open('anything.txt', 'r')
outfile = open('some.txt', 'w')
f = infile.readlines()
data=[]
a=['1','2','3']
b=['5','6','7']
for i in a:
  for j in b:
    outfile.write(i + "\t" + j + "\n")

当我使用标准记事本打开生成的文本文件时,得到的是这些奇怪的字符!
 ऱਵऱਸ਼ऱ਷लਵलਸ਼ल਷ळਵळਸ਼ळ਷

但是,当我用记事本或写字板打开文本文件时,结果是两列数字,它们之间有一个制表符,这正是我们所期望的.

我真的在这里迷路了.到底是怎么回事 ?我不能使用标准记事本打开文本文件吗?

谢谢你的帮助.

解决方法:

我相信这是记事本的错误.

记事本为ASCII时,会将文件中的数据解释为Unicode.
前两个字符为1,制表符的ascii十六进制值为31和09
如果记事本将文件误解为Unicode,它将读取两个值,即3109,并显示一个字符以进行匹配:ऱ http://www.unicodemap.org/details/0x0931/index.html(您可以看到它与“奇怪字符”字符串中的第一个字符匹配.)

这是记事本中的一个众所周知的错误,甚至在维基百科上也有其幽默的标题页面:http://en.wikipedia.org/wiki/Bush_hid_the_facts

您可以在记事本中选择字符编码,以通过在编码下拉列表(在本例中为ANSI)中选择文件来强制文件以正确的编码打开.但是,如果您想查看文本文件中数据的正确值,则最好使用另一个文本编辑器.

标签:python-2-4,text,notepad-2,python
来源: https://codeday.me/bug/20191101/1981938.html