1. 程式人生 > >跨平臺檔案編碼和換行問題的解決辦法

跨平臺檔案編碼和換行問題的解決辦法

 

使用windows編輯,會有回車問題和編碼問題。
換行問題: Win 換行 \r\n Linux 換行 \n Mac 換行 \r 。很多工具在這方面不相容,比如Shell。
編碼問題: Linux 預設使用utf-8 (without BOM),Win 預設GBK。 linux下直接開啟win文件會中文亂碼。
Win開啟Linux 亂碼可能性比較小相容做的比較好。

 

下列軟體可以解決編碼問題和回車問題

fromdos      命令解決換行問題。

enca     工具可以檢視檔案編碼。

enca 、 enconv 、 iconv 可以轉換編碼。

convmv            可以解決 檔名亂碼。

 

命令安裝以及使用方法:

 

apt-get install tofrodos
tofrodos 包含兩個命令 todos  fromdos    處理回車問題。  dos 是 win 前身,字面意思理解即可。
todos *.c
fromdos *.h
該軟體不提供資料夾遞迴操作 。 此命令可以完成:   find -name "*.sh" | xargs -0 fromdos

 

apt-get install enca
enca  命令可能會遇到語言識別問題,可以新增 -L zh_CN (中文編碼)解決。


enca -L zh_CN -x UTF-8 test.txt                   // -L 語言 -x 目標編碼
enca -L zh_CN -x UTF-8 <oldname.txt> newname.txt // -L 語言 -x 目標編碼 不刪除oldfile
enconv -L zh_CN -x UTF-8 test.txt              // -L 語言 -x 目標編碼
enconv -L zh_CN -x GB2312 test.txt          // -L 語言 -x 目標編碼

iconv -f UTF-8 -t GBK file1 -o file2                // -f 原本編碼 -t 目標編碼

 

apt-get install convmv
convmv  -f  GBK -t  UTF-8  *.mp3          //   -f 原本編碼   -t 目標編碼   -r 目錄下所有檔案