- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试重新格式化文本文件,以便将其上传到管道 (QIIME2) - 我测试了 .txt 文件的前几行(但它是制表符分隔的),并且转换成功。但是,当我尝试对整个文件运行脚本时,我遇到了一个错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 16: invalid start byte
我已经确定文件编码是utf8,所以我不确定问题出在哪里。
$ file filename.txt
filename: UTF-8 Unicode text, with very long lines, with CRLF line terminator
我还检查了一些与错误相关的行,但我无法直观地识别任何非正统字符。
我尝试使用以下方法对其进行强制编码:
$iconv -f UTF8 -t UTF8 filename.txt > new_file.txt
但是,产生的错误是:
iconv: illegal input sequence at position 152683
我的理解是,使用 utf-8 编码无法读取/翻译该位置出现的任何字符,但我不确定为什么文件被称为以 utf-8 编码。
我在 Linux 上运行它,数据本身是来自 BOLD 数据库的序列信息(如果其他人在尝试将其转换为适合 QIIME2 的格式时遇到类似问题)。
最佳答案
file
错误。 file
命令不会读取整个文件。它基于文件的一些样本进行猜测。我没有这方面的源引用,但是 file
在大文件上的速度非常快,没有其他解释。
我猜你的文件一开始实际上是 UTF-8,因为 UTF-8 具有特征字节序列。一段文本看起来像 UTF-8 而实际上不是的可能性很小。
但是包含字节0x96的文本部分不能是UTF-8。很可能某些文本使用 CP1252 等 8 位编码进行编码,然后连接到 UTF-8 文本。这是不应该发生的事情,因为现在您在一个文件中有多种编码。这样的文件在文本编码方面是错误的。
这只是猜测,但根据我的经验,这是对您描述的情况最可能的解释。
对于编码损坏的文本,您可以使用第三方 Python 库 ftfy: fixes text for you .它会在每个换行符处剪切您的文本,并尝试为每个部分找到(猜测)正确的编码。它并不总是神奇地做正确的事,但它非常好。
为了给您更详细的指导,您必须显示您正在调用的脚本的代码(如果这是您的代码并且您想修复它)。
关于linux - Utf8 编码的文件在解析过程中产生 UnicodeDecodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56243274/
我有一个文本文件,发布者(美国证券交易委员会)声称该文件以 UTF-8 编码(https://www.sec.gov/files/aqfs.pdf,第 4 节)。我正在使用以下代码处理这些行: def
在 django 界面中添加元素时遇到问题。我有两个定义: # -*- coding: utf-8 -*- class VisitType(models.Model): name=models
我尝试制作一个脚本来使用 Mechanize 发布表单 剧本: # Browser br = mechanize.Browser() cj = cookielib.LWPCookieJar() br.
我收到此错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 4: ordinal not in range
我正在尝试使用 Google 语音 API 在 Python 中制作语音识别器。我一直在使用和改编 here 中的代码(转换为Python3)。我在计算机上使用一个音频文件,该文件已使用在线转换器从
打开一个docker实例(例如docker run -ti ubuntu:16.04),创建Python文件a.py # -*- coding: utf-8 -*- a = 'ö' 和r.py wit
当我将应用程序与Buildozer for Android打包在一起时,我会收到UnicodeDecodeError。 Log2与Buildozer一起附加 build.py 。 作业系统:UBUNT
我在 Ubuntu 终端(编码设置为 utf-8)中运行此代码段两次,一次使用 ./test.py然后用 ./test.py >out.txt : uni = u"\u001A\u0BC3\u1451
我正在尝试使用 Python 中的以下命令序列替换 Word 文件中的子字符串。代码本身工作得很好 - 即使使用完全相同的 Word 文件,但当将其嵌入到更大规模的项目结构中时,它会在确切的位置抛出错
我在 tox 中有以下配置: [tox] envlist = py37 [testenv] passenv = TRAVIS TRAVIS_* setenv = DEFAULT_FROM =
我正在获取 UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 104: ordinal not in range
在执行子字符串匹配时,我收到 UnicodeDecodeError: 'ascii' codec can't Decode byte 0xc3 inposition 8: ordinal not in
我正在使用 Python 和 lxml,但遇到错误 我的代码 >>>import urllib >>>from lxml import html >>>response = urllib.urlope
我是 python 的新手,我正在尝试处理一小部分 Yelp!数据集是 JSON,但我使用 pandas 库和 NLTK 转换为 CSV。 在对数据进行预处理时,我首先尝试删除所有标点符号以及最常见的
我想不出如何一劳永逸地解决这些问题。当我尝试写“è”(我是意大利人)时,我第一次遇到这些问题。经过一些研究,我发现在最开始添加“#coding: utf-8”似乎可以解决问题....直到现在。 我编辑
我的数据存储包含值,我希望我的表单能够更新这些值。我在 jinja2 中使用 wtforms 和谷歌应用引擎。我收到一条我无法理解的错误消息: 'ascii' codec can't decode b
我们遇到了一个问题(描述为 http://wiki.python.org/moin/UnicodeDecodeError)——请阅读第二段“...自相矛盾...”。 具体来说,我们正在尝试将字符串向上
我正在尝试标记一些文档,但我遇到了这个错误 UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 6: ordina
我想在一个文件中存储一个包含多个 numpy 数组的 Python 对象。我找到了 pickle,但在加载存储的对象时总是遇到 UnicodeDecodeError: Traceback (mos
我正在尝试制作一个 python 脚本来查找 USB 闪存驱动器中的重复文件。 我遵循的过程是创建一个文件名列表,散列每个文件,然后创建一个逆向字典。然而,在过程中的某个地方,我得到了一个 Unico
我是一名优秀的程序员,十分优秀!