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