Linux系統下處理從GB2312到UTF-8的轉換

UTF-8 這種編碼已經是大勢所趨,但是還有不少中文的文檔保留着老式的 GB2312編碼,而且只要你要和 Windows 打交道,就免不了要處理 GB2312 的問題,比如處理從 Windows 下拷過來的程序源代碼、文本文件、字母文件之類。

編碼轉換的方法估計大多數同學都知道了,不過還是有必要再強調一下,我就是老忘。

Linux 下的 iconv 命令可以來處理字符編碼的轉換,基本命令格式如下:

iconv -f 原始編碼 -t 目標編碼 文件名 > 新文件名

-f 代表 from,-t 代表 to。

假設我要把 text.txt 從 GB2312 編碼轉換成 UTF-8,並且保存爲 text-utf-8.txt 的話,那麼命令如下:

iconv -f GB2312 -t utf-8 text.txt > text-utf-8.txt

不過有的時候,轉換會報錯,很可能的原因是原文件中有些字符超過了 GB2312 的範圍,那麼,這個時候,我們可以把 GB2312 改成它的超集 GB18030,一般就解決問題了:

iconv -f gb18030 -t utf-8 text.txt > text-utf-8.txt

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章