中文太難了....
=======================================
作者:李志成
來源:http://alf-li.pcdiscuss.com/c_convertz.html
由於歷史、地區原因,有時一種文字會出現多種編碼方案,特別是漢字。如果文字編碼跟系統預設編碼不同,則文字不能正確地列印及顯示,須要進行編碼轉換才能變成可以辨識的字符。
ANSI碼是單一字節(8-bit)的編碼集,最多只能表示256個字符,不能表示眾多的漢字字符,各個國家和地區在ANSI碼的基礎上又設計了各種不同 的漢字編碼集(例如:Big5, GBK),使之能夠處理大數量的漢字字符。這些編碼使用單字節來表示ANSI的英文字符(即兼容ANSI碼),使用雙字節(16-bit)來表示漢字字 符。由於一個系統中只能有一種漢字內碼,造成了交流的不便。新的作業平台(ie. WinNT/2000/XP)已全面支援Unicode編碼,目前支援Unicode的程式不多,一般程式只支援ANSI字符。
- GB碼:GB碼是1980年國家公佈的簡體漢字編碼方案,在大陸、新加坡得到廣泛的使用,也稱國標碼。國標碼對6763個漢字集進行了編碼,涵蓋了大多數正在使用的漢字。
- GBK碼:GBK碼是GB碼的擴展字符編碼,對多達2萬多的簡繁漢字進行了編碼,向下與GB碼兼容,簡體版Windows是使用GBK作系統內碼。
- BIG5碼:BIG5碼是針對繁體漢字的漢字編碼,目前在台灣、香港的電腦系統中得到普遍應用,繁體版Windows是用Big5作系統內碼。
- Unicode 碼:Unicode碼是最新的國際標準編碼,採用二個字節 (16-bit) 編碼,收入了幾乎所有國家的文字符號,適用於所有語言的作業平台,但與ANSI碼不兼容,只應用於支援Unicode的程式。Unicode Little Endian普遍用於x86系統(ie. Intel),而 Unicode Big Endian 普遍用於RISC 系統 (ie. Alpha, Mac)。
- UTF-8: Unicode 的變體,用 8-bit 編碼,每個字符由一至四個字節組成。
- HZ碼:HZ是GB碼的變體,只用每個字節的首7-bit作編碼(即ANSI的首128個字符),常用於網絡資料傳送。
- JIS: 日文編碼,即ISO-2022-JP,只用每個字節的首7-bit作編碼,常用於網絡資料傳送。
- Shift-JIS: Microsoft制訂的日文編碼標準,適用於Windows日文平台。
- EUC-JP: 常用於日文Unix平台,日文的PHP及MySQL多用這種編碼編寫。
ConvertZ 是一個中文內碼轉換器,讓您能輕鬆地對純文字檔案或剪貼簿內容在big5/gbk/unicode/utf-8/jis/shift-jis/euc-jp各種內碼之間自由轉換,解決不同地區因為應用不同編碼而產生的溝通問題。
功能:
- 提供繁/簡體中文及英文介面,適用於繁/簡體或其它版本的視窗。
- 支援 Big5/GBK/HZ/Unicode/UTF-8檔案在上述各種內碼間自由轉換。
- 可預覽轉換前/後的文章內容和結果。
- 支援剪貼簿內碼轉換,可於程式主視窗、工具列圖示的右按選單、或用熱鍵行使此功能。
- 部份簡體字可同時對應數個繁體字(例如:〔干、幹、乾〕〔划、劃〕〔里、裡〕〔發、髮〕〔郁、鬱〕〔松、鬆〕〔余、餘〕等字),程式能於轉碼的同時自動修正這些別字。使用者可自行編輯程式內建的『詞彙校正列表』去提高辨識率。
- 自動更新 HTML 檔案 <Meta> 標籤內的 charset 數值。
- 文字轉換轉送:可在文字輸入方塊內鍵入中文字,然後將轉碼結果輸出到指定程式。
- Command line 支援。
- 支持 CF_HTML 轉換,在 Office, IE, Outlook 等文件做剪貼簿文字轉碼時可以保留文件式樣。
- 可以將統一碼數字記法 (&#xxxxx;) 還原成目標編碼的文字。
- 支持Mp3/APE/OGG 檔案 ID3/APE/OGG 標籤的編碼轉碼。
圖例:
主視窗工具列 | 檔案轉換視窗 | 程式設定 | 詞彙修正編輯器 |
作業平台:
Windows 9x/ME/NT/2000/XP/2K3
介面:
運行時程式以工具列形式顯示於螢幕上方(預設為自動隱藏)。使用者亦可用滑鼠右按 Windows 工具欄內的小圖示在功能表中行使各種指令。
安裝:
無須安裝,只要將所有檔案解壓到新資料夾,然後直接執行 convertz.exe。
注意事項:
- ConvertZ 用 Windows 內建 API 進行 Unicode 內碼轉換,系統必須同時安裝有繁體及簡體支援方可正常運作。
ConvertZ 於啟動時會偵查系統,若發現缺少上述任何一項會作出提示。
Win9x 使用者可以到 Windows Update下載、或安裝 Ms Office 時選擇加入有關元件。
Win2000/XP 使用者可在“控制台/國別設定”加入有關的文字支援。 - 在 Win9x/ME繁體視窗下預覽 Unicode 文章時簡體字會變成 ? 符號,這是因為程式所用的 memo 元件在繁體視窗下無法顯示簡體字之故,對輸出結果並無影響。Win2000/XP 並無這問題。
剪貼簿統一碼繁簡轉換的應用:
- 在繁體 Windows 下,如何在簡體網頁貼文?
先用繁體輸入法在簡體網頁打好文字,剪入剪貼簿,選擇 ConvertZ 主工具列上「剪貼簿 統一碼:繁轉簡」功能,再貼回原處便可。 - 當複製簡體網頁的內容到剪貼簿及貼到其它應用程式,所有簡體字變成問號,怎樣解決?
複製後在 ConvertZ 的主工具列上選擇「剪貼簿 統一碼:簡轉繁」功能,所有剪貼簿內的簡體字會轉換成繁體字,再貼到其它程式便可以。 - 如何將 Ms Word, Excel, Powerpoint 的簡體文件轉做繁體?
ConvertZ 並不能對 Ms Office 檔案直接進行轉換,但可以經剪貼簿轉換達到同樣目的。只須用 Office 程式開啟簡體中文檔案,將文件內容複製到剪貼簿,在ConvertZ 的主工具列上選擇「剪貼簿 統一碼:簡轉繁」,完成後將結果貼回到原本位置便可。在“程式設定”應須啟動“CF_HTML 支援”,否則轉換後除純文字之外所有文字式樣及圖片等均不會保留。 - 為何用ConvertZ做GB<>Big5剪貼簿轉換後所有中文字變成問號?
這情況只在WinNT/2k/XP或以上版本出現,原因是系統預設的文字輸入服務設定錯誤,當複製的來源程式用unicode文字核心時(跟文章原本編碼無關),剪貼簿文字無法轉換為正確的ANSI內碼。
解決方法:複製前先將輸入法狀態切換成CH或任何一種中文輸入法。
建議:在「控制台>地區語言選項>文字服務和輸入語言>詳細資料」將「預設輸入語言」更改為「中文(台灣) - 中文(繁體) - 美式鍵鍵」(簡體中文Windows用家是「中文(PRC) - 美國」),並將「英文(美國)」移除。
*注意:GBK及Big5分別佔用不同內碼區域,用unicode核心的程式複製對方編碼的文字時,個別中文字無法經剪貼簿獲取正確的ANSI內碼(例 如:在繁體系統複製GBK繁體中文字),變成問號。解決方法是改用ANSI文字核心的編輯器開啟該文件去進行剪貼簿GBK<>Big5轉換。
留言列表