我习惯使用vim来修改文件的行结尾:
$ file file
file: ASCII text, with CRLF line terminators
$ vim file
:set ff=mac
:wq
$ file file
file: ASCII text, with CR line terminators
Run Code Online (Sandbox Code Playgroud)
是否可以使用类似的过程来更改文件的unicode编码?我正在尝试以下方法,但这不起作用:
$ file file.xml
file.xml: Unicode text, UTF-16, little-endian
$ vim file
:set encoding=utf-8
:wq
$ file file.xml
file.xml: Unicode text, UTF-16, little-endian
Run Code Online (Sandbox Code Playgroud)
我看到有人说他可以"设置fileencoding = utf-8,然后更新并写入文件,它可以工作",但我似乎错过了一些东西,否则他很困惑.我不知道"然后更新"是什么意思.
Joh*_*han 160
请注意,两者之间存在差异
set encoding
和
set fileencoding
在第一种情况下,您将更改终端中显示的输出编码.在第二种情况下,您将更改所写文件的输出编码.
小智 78
虽然使用vim完全可以,但为什么不简单地使用iconv?我的意思是 - 加载文本编辑器只是为了进行编码转换似乎使用太大的锤子太小的指甲.
只是:
iconv -f utf-16 -t utf-8 file.xml > file.utf8.xml
Run Code Online (Sandbox Code Playgroud)
而且你已经完成了.
Fra*_*cis 53
就像您的步骤一样,设置fileencoding应该可行.但是,我想添加一个"set bomb"来帮助编辑器将文件视为UTF8.
$ vim file
:set bomb
:set fileencoding=utf-8
:wq
Run Code Online (Sandbox Code Playgroud)
在读取文件之前仅在命令行上更改编码可能很有用:
rem On MicroSoft Windows
vim --cmd "set encoding=utf-8" file.ext
# In *nix shell
vim --cmd 'set encoding=utf-8' file.ext
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
220789 次 |
| 最近记录: |