我正在尝试重新格式化文本文件,以便可以将其上传到管道 (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 的格式时遇到类似问题)。