Python使用奇怪的编码从文件中读取字符串

苏佩托鲁斯

我制作了一个猪拉丁翻译器,从用户那里获取输入,进行翻译然后返回。我想添加输入文本文件以提取文本的功能,但遇到了一个问题,即我没有按预期打开文件。这是我的代码:

from sys import argv
script, filename = argv

file = open(filename, "r")

sentence = file.read()

print sentence

file.close()

问题是当我打印出文件内的信息时,它看起来像这样:

■T h i s   i s   s o m e   t e x t   i n   a   f i l e

代替这个:

This is some text in a file

我知道我可以通过切片来解决空格和奇数方形字符的问题,但是我感觉这是在处理症状,我想了解为什么文本格式很奇怪,所以也许可以解决原因。

将要

我相信这是一个Unicode UTF-16编码文件,这是“ Unicode字节顺序标记”(BOM)。它也可以是带有字节顺序标记的另一种编码,但是它肯定是多字节编码。

这也是为什么您看到字符之间的空白的原因。UTF-16有效地将每个字符表示为两个字节,但是对于您正在使用的标准ASCII字符,该字符的另一半为空(第二个字节为0)。

尝试以下方法:

from sys import argv
import codecs
script, filename = argv

file = codecs.open(filename, encoding='utf-16')
sentence = file.read()
print sentence
file.close()

替换encoding='utf-16'为实际上是任何编码。您可能只需要尝试一些并进行实验。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从文本文件中读取字符串,并在MATLAB中返回奇怪的字符

来自分类Dev

从文件中读取字符串

来自分类Dev

使用TCL从文件读取字符串后从字符串中删除空格

来自分类Dev

如何从.INI文件中读取字符串,然后从文本文件中读取该字符串,并使用Python打印整行?

来自分类Dev

在C中从文件读取字符串输入

来自分类Dev

Java从文本(txt)文件中读取字符串

来自分类Dev

从文件中读取字符串和整数

来自分类Dev

目标C:从CSV文件中读取字符串

来自分类Dev

从 app.config 文件中读取字符串

来自分类Dev

从原始txt文件中读取字符串

来自分类Dev

如何从整数之前的文件中读取字符串

来自分类Dev

从文本文件中读取字符串作为python中的变量

来自分类Dev

从文件C ++读取字符串

来自分类Dev

使用VBA从URL中的文本文件读取字符串

来自分类Dev

在Python中从字符串读取字节

来自分类Dev

在Python中从字符串读取字节

来自分类Dev

Java-使用扫描仪读取字符串给我奇怪的字符

来自分类Dev

在Haskell中读取字符串

来自分类Dev

在C ++中读取字符串

来自分类Dev

在Haskell中读取字符串

来自分类Dev

在C ++中读取字符串

来自分类Dev

使用sscanf读取字符串

来自分类Dev

使用Python在文件中读取多于单词的字符串

来自分类Dev

从文件中读取字符串下面的字符串

来自分类Dev

使用通配符读取字符串时出现奇怪的 bash 行为

来自分类Dev

如何从HttpRequest表单数据中以正确的编码读取字符串

来自分类Dev

在python中从文件中获取字符串

来自分类Dev

Python3-如何读取字符串值的字符串并将其重新编码为字节?

来自分类Dev

使用Regex从.java文件中获取字符串

Related 相关文章

热门标签

归档