如果需要在Linux中操作windows下的文件,可能會經常遇到文件編碼轉換的問題。Windows的默認文件格式是GBK(GB 2312),而Linux通常是UTF-8。以下是如何檢查文件的編碼以及如何在Linux中轉換文件的編碼。
查看文件編碼
在Linux中查看文件編碼有幾種方法:
1.您可以直接在Vim中查看文件代碼。
外殼代碼
:設置文件編碼
可以顯示文件編碼格式。
如果您只想查看其他編碼格式的文件或者想解決使用Vim查看文件的問題,那麽您可以使用。
將以下內容添加到~/中。vimrc文件:
外殼代碼
set encoding = utf-8 file encoding = UCS-BOM,utf-8,cp936
通過這種方式,vim可以自動識別文件編碼(UTF 8或GBK編碼的文件)。事實上,它試圖遵循fileencodings提供的編碼列表。如果沒有找到合適的編碼,將使用拉丁-1(ASCII)編碼打開它。
2.enca(如果您的系統中沒有安裝此命令,您可以使用sudo yum install -y enca安裝它)來查看文件編碼。
$ enca文件名
文件名:通用轉換格式8位;UTF-8
CRLF線終結者
應該註意的是,enca不能很好地識別某些GBK編碼的文件,將會有:
無法識別的編碼
文件編碼轉換
1.直接在Vim中對文件進行編碼,例如將文件轉換為utf-8格式。
外殼代碼
:設置fileencoding=utf-8
2.enconv轉換文件編碼,例如,將GBK編碼的文件轉換為UTF-8編碼,操作如下
enconv-L zh _ CN-x UTF 8文件名
3.iconv轉換,iconv命令格式如下:
iconv -f編碼-t編碼輸入文件
例如,UTF 8編碼的文件被轉換為GBK編碼。
iconv -f GBK -t UTF-8文件1 -o文件2