想要把ASCII编码格式的文件转成UTF-8格式编码的文件,但是尝试了网上说的几种方式,均无法实现,不知道有哪里没做对?
# vim打开文件后,直接设置编码格式
:set fileencoding=utf-8
# iconv工具转换
iconv -f ASCII -t UTF-8 test.json > test1.json
# conmv工具转换
convmv -f ASCII -t UTF-8 test.json
想要把ASCII编码格式的文件转成UTF-8格式编码的文件,但是尝试了网上说的几种方式,均无法实现,不知道有哪里没做对?
# vim打开文件后,直接设置编码格式
:set fileencoding=utf-8
# iconv工具转换
iconv -f ASCII -t UTF-8 test.json > test1.json
# conmv工具转换
convmv -f ASCII -t UTF-8 test.json
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
要将一个以ASCII编码存储的文本文件转换为UTF-8编码,请使用以下步骤:
iconv工具:这个命令将从ASCII转换到UTF-8。iconv -f ASCII -t UTF-8 test.txt > test1.txt
conmv工具:这个命令同样可以从ASCII转换到UTF-8。conmv -f ASCII -t UTF-8 test.txt > test1.txt
这两个命令都将test.txt中的内容从ASCII转换为UTF-8。
如果在尝试这些方法时遇到问题,可能是因为你的系统中没有安装iconv或conmv。你可以通过运行以下命令来安装它们:
sudo apt-get install iconv
或者如果你使用的是Debian系统,可以使用以下命令:
sudo apt-get install libiconv-dev
然后重新运行上述命令即可。
另外,如果你已经知道文件的内容,并且你希望保持原始内容不变(例如,如果你想保留文件中的特殊字符),那么可以考虑使用Python的内置函数open()和write(),如下所示:
with open('test.txt', 'r') as f:
content = f.read()
content = content.encode('utf-8')
with open('test1.txt', 'w') as f:
f.write(content)
这样可以确保即使文件的内容发生改变,输出结果也不会受到影响。