linux 文件格式latin1,Linux查看文件编码格式
linux查看文件编码格式
1.file命令
首先查看file命令的help,file --help,里面有详情的参数说明。
使用file 命令查看文件的编码格式
[root@dep-184 /]# file 1.txt
1.txt: ISO-8859 text
2.vim 命令
使用vim命令进入文件 1.txt,然后在使用 “:set fileencoding” 查看文件当前展示的编码格式(这里必须确保展示内容无乱码,才可以得到内容真实的编码格式),我这里的文件1.txt 内容实际是gbk,而文件保存时的编码格式是ISO-8859,如下:
不加任何编码格式进入文件,则文件编码格式是latin1(Latin1是ISO-8859-1的别名,有些环境下写作Latin-1)
[root@dep-184 /]# vim 1.txt
文件内容
使用:set fileencoding
指定文件展示的编码格式进入文件,此时展示的内容是正常的,但是使用:set fileencoding 查看是cp936(cp936就是指系统里第936号编码格式,即GB2312的编码)
[root@dep-184 /]# vim "+e ++enc=gbk" 1.txt
文件内容
使用:set fileencoding
最后在试一下指定utf-8进入文件的情况,查看的内容是乱码的,使用:set fileencoding 查看是utf-8。
[root@dep-184 /]# vim "+e ++enc=utf-8" 1.txt
文件内容
使用:set fileencoding
小结:从以上三种情况来看,进入文件使用:set fileencoding 查看编码时,编码格式是根据终端显示的编码格式来确定的,使用哪种编码方式进入文件展示文件那天,则就是哪种编码格式,即你使用正确的编码格式进入文件,文件无乱码则使用这种方式查看编码格式就是正确的。
3.enca命令
使用enca可以直接查看文件内容的编码格式,如下
[root@dep-184 /]# enca 1.txt
Simplified Chinese National Standard; GB2312
enca安装参考:下载地址https://dl.cihar.com/enca/enca-1.19.tar.gz
解压:tar -xvf enca-1.19.tar.gz
进入目录
./configura
安装:
make
make install
enca 还有其他的参数可以设置,查看enca --help
linux文件编码转换
1.vim 命令
在vim中使用 :set fileencoding=xxx 来转换文件的编码格式,这里vim文件时需要注意,必须指定编码进入文件或者直接进入文件时内容无乱码,如下:
[root@dep-184 /]# vim "+e ++enc=gbk" 1.txt
文件内容
转换编码格式,回车无错误则转换成功,最后 :wq保存退出。
查看转换后的编码格式
[root@dep-184 /]# enca 1.txt
Universal transformation format 8 bits; UTF-8
如果不指定编码格式进入文件会出现什么情况呢,以下是我测试的结果:
[root@dep-184 /]# vim 1.txt
文件内容
出现错误,转换失败
2.iconv 命令
这里必须知道文件内容的真实编码,转换的时候才不会出现乱码,如下
转换命令,比如将一个UTF-8 编码的文件转换成GBK编码(此处应该知道文件内容的正确编码)
iconv -f GBK -t UTF-8 1.txt -o 2.txt
以上是我在测试的时候总结的,如果有错误的地方欢迎小伙伴指正,谢谢!
更多推荐
所有评论(0)