淺談Linux的編碼及編碼轉(zhuǎn)換方法
如果你需要在Linux中操作windows下的文件,那么你可能會經(jīng)常遇到文件編碼轉(zhuǎn)換的問題。Windows中默認(rèn)的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介紹一下,在Linux中如何查看文件的編碼及如何進(jìn)行對文件進(jìn)行編碼轉(zhuǎn)換。
查看文件編碼
在Linux中查看文件編碼可以通過以下幾種方式:
1.在Vim中可以直接查看文件編碼
:set fileencoding
即可顯示文件編碼格式。
如果你只是想查看其它編碼格式的文件或者想解決用Vim查看文件亂碼的問題,那么你可以在
~/.vimrc 文件中添加以下內(nèi)容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
這樣,就可以讓vim自動識別文件編碼(可以自動識別UTF-8或者GBK編碼的文件),其實就是依照fileencodings提供的編碼列表嘗試,如果沒有找到合適的編碼,就用latin-1(ASCII)編碼打開。
文件編碼轉(zhuǎn)換
1.在Vim中直接進(jìn)行轉(zhuǎn)換文件編碼,比如將一個文件轉(zhuǎn)換成utf-8格式
:set fileencoding=utf-8
2. iconv 轉(zhuǎn)換,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如將一個UTF-8 編碼的文件轉(zhuǎn)換成GBK編碼
iconv -f GBK -t UTF-8 file1 -o file2
iconv -f gbk -t utf8 linux常用命令.txt > linux常用命令.txt.utf8
文件名編碼轉(zhuǎn)換:
從Linux 往 windows拷貝文件或者從windows往Linux拷貝文件,有時會出現(xiàn)中文文件名亂碼的情況,出現(xiàn)這種問題的原因是因為,windows的文件名 中文編碼默認(rèn)為GBK,而Linux中默認(rèn)文件名編碼為UTF8,由于編碼不一致,所以導(dǎo)致了文件名亂碼的問題,解決這個問題需要對文件名進(jìn)行轉(zhuǎn)碼。
在Linux中專門提供了一種工具convmv進(jìn)行文件名編碼的轉(zhuǎn)換,可以將文件名從GBK轉(zhuǎn)換成UTF-8編碼,或者從UTF-8轉(zhuǎn)換到GBK。
首先看一下你的系統(tǒng)上是否安裝了convmv,如果沒安裝的話用:
yum -y install convmv
安裝。
下面看一下convmv的具體用法:
convmv -f 源編碼 -t 新編碼 [選項] 文件名
常用參數(shù):
-r 遞歸處理子文件夾
--notest 真正進(jìn)行操作,請注意在默認(rèn)情況下是不對文件進(jìn)行真實操作的,而只是試驗。
--list 顯示所有支持的編碼
--unescap 可以做一下轉(zhuǎn)義,比如把%20變成空格
比如我們有一個utf8編碼的文件名,轉(zhuǎn)換成GBK編碼,命令如下:
convmv -f UTF-8 -t GBK --notest utf8編碼的文件名
這樣轉(zhuǎn)換以后"utf8編碼的文件名"會被轉(zhuǎn)換成GBK編碼(只是文件名編碼的轉(zhuǎn)換,文件內(nèi)容不會發(fā)生變化)
以上這篇淺談Linux的編碼及編碼轉(zhuǎn)換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺析在 RHEL8 配置靜態(tài) IP 地址的不同方法
如果一個人在 Linux 服務(wù)器上正確配置了靜態(tài)地址,那么他/她就可以通過網(wǎng)絡(luò)遠(yuǎn)程訪問它。在本文中,我們將演示在 RHEL 8 服務(wù)器網(wǎng)卡上配置靜態(tài) IP 地址的不同方法,需要的朋友可以參考下2019-09-09
Linux中mkdir函數(shù)與Windows中_mkdir函數(shù)的區(qū)別
這篇文章主要介紹了Linux中mkdir函數(shù)與Windows中_mkdir函數(shù)的區(qū)別的相關(guān)資料,需要的朋友可以參考下2016-01-01
ubuntu20.04設(shè)置靜態(tài)ip地址(包括不同版本)
這篇文章主要介紹了ubuntu20.04設(shè)置靜態(tài)ip地址,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
PHP程序員玩轉(zhuǎn)Linux系列 搭建FTP代碼開發(fā)環(huán)境
這篇文章主要為大家詳細(xì)介紹了PHP程序員玩轉(zhuǎn)Linux系列文章,F(xiàn)TP代碼開發(fā)環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Linux虛擬機復(fù)制文件到Windows主機的解決辦法
這篇文章主要介紹了Linux虛擬機復(fù)制文件到Windows主機的解決辦法,文中通過代碼示例和圖文講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-07-07

