起來相當吃力。反之亦然。在linux下這只要下個指令就可以做好轉換,只是在做轉換前必須先弄清楚目前的資料是使用什麼編碼方式。
在這裡將採用iconv這個指令來達成這個動作。iconv是linux底下用來轉換編碼方式的指令,在這裡介紹使用iconv達成正體中文和簡體中文互換的方法。現在大部份的系統預設採用的是Unicode(UTF8)編碼方式,如果現在有個檔案text.txt內容是採用UTF8編碼的正體中文,透過以下的幾個指令可以將檔案內容改成UTF8編碼的簡體中文。
第一步,先將UTF8編碼轉換成Big5編碼並存成temp_big5.txt
# iconv text.txt -f utf8 -t big5 -o temp_big5.txt
第二步,再將temp_big5.txt由Big5編碼轉換到gb2312編碼並存成temp_gb2312.txt
# iconv text_big5.txt -f big5 -t gb2312 -o temp_gb2312.txt
第三步,再將temp_gb2312.txt由gb2312編碼轉換回UTF8編碼並存成target.txt
# iconv temp_gb2312.txt -f gb2312 -t utf8 -o target.txt
這樣就完成了將text.txt中的繁體中文轉換到簡體中文了。
但是每次執行都這麼麻煩的執行那麼多次嗎?當然不用囉!以上那麼多的指令可以濃縮成一步,但是有點長就是了!
# iconv text.txt -f utf8 -t big5 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o target.txt這樣就可以直接將text.txt檔案中的繁體中文轉換到target.txt的簡體中文了
當然還有更省事的方法,就是將指令存shell檔案,要用時就可以省下很多打字的時間了。將以下的內容存成tc2sc_file.sh
#Translate txt file from Traditional Chinese to Simply Chinese
iconv $1 -f utf8 -t big5 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o $2
再用chmod指令讓tc2sc.sh具有執行的權限
# chmod 755 tc2sc_file.sh
完成後就可以直接使用tc2sc_file.sh來做轉檔的工作,EX: tc2sc_file.sh 來源檔案 目的檔案
如果是要把簡體中文轉成正體中文的話,只要將編碼的順序整個反過來就可以了,如下。
# iconv text.txt -f utf8 -t gb2312 | iconv -f gb2312 -t big5 | iconv -f big5 -t utf8 -o target.txt
sc2tc_file.sh
#Translate txt file from Simply Chinese to Traditional Chinese
iconv $1 -f utf8 -t gb2312 | iconv -f gb2312 -t big5 | iconv -f big5 -t utf8 -o $2
沒有留言:
張貼留言