我正在做一个 NLP 研究项目。为此,我必须分析一个大约 10mb的 unicode (Sinhala)文本文件,它会在 Google 文档中打开。但是当我尝试从 gedit 打开它时,我收到了这个错误
意外错误:转换输入中的字节序列无效
因此,我遵循了这个类似的问题并尝试了第二个答案,该答案建议在终端中运行此命令:
gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8', 'CURRENT', 'ISO-8859-15', 'UTF-16']"
我在终端得到了这个结果:
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
No such key “auto-detected”
所以,没有成功。当我尝试在 gedit 中打开文件时,我遇到了同样的错误。我怎样才能解决这个问题?如何在gedit中打开此文件?
我不确定问题的原因是什么,但我能够在我的系统上重现它。
实验上,我
dos2unix
在文件上运行,输出说它是一个 UTF-16LE 文件。对于好奇的人, LE 意味着little endian。将文件转换为 UTF-8 格式后dos2unix
,我可以使用 Gedit 打开它。我使用该
-n
标志来避免覆盖原始文件。替换oldfile
为原始文件名以及newfile
您希望调用新文件的任何内容。如果您的文件名包含空格或其他特殊字符,请使用制表符完成(键入文件名的开头并按制表符并应显示全名)或'
引号。作为旁注,我能够打开文件而无需使用基于 Gedit 的文本编辑器Pluma进行转换,因此我怀疑这可能是 Gedit 中的错误。打开文件时传递
--encoding UTF-16LE
或传递--encoding UTF-16
给 Gedit 没有帮助。