謝東翰 <thhsieh@linux.org.tw>,小虫 <platin@ms31.hinet.net>
在上一期的文件裡面我們花了不少篇幅來介紹整個 i18n 環境的基礎架構 -- locale 環境的實作跟建立方式,這一期裡面,我們打算為讀者介紹一個寫作 i18n 程式的重要工具,也就是寬字元 (wc, wide character) 的使用。在程式內部處理資料時善用寬字元,可以幫助程式設計者大幅的減少程式寫作在面對不同編碼系統時會遇到的麻煩。本文便從應用程式在處理不同編碼方式 (encoding) 的資料時會碰到的問題開始說起,跟大家介紹寬字元的基本觀念,並且說明目前 GNU/Linux 底下 glibc 所提供的一組介面函式,這組函式可以自動依照 locale 設定幫助您將一般多位元組 (mb, multi-byte) 編碼的字串轉成跟區域性編碼沒有關係的寬字元,將跟編碼系統有關的部份交給 glibc 去處理,是寫作國際化程式不可避免要用到的工具。我們希望透過這篇文件的介紹可以帶給讀者們一些使用寬字元的概念,最好還能夠讓讀者往後在寫程式的時候都可以善用這個工具來達到國際化的需求。這一期的文章可能比較強調程式設計的部份,一般使用者可能會感到比較乏味,不過運用寬字元的目的是把應用程式跟編碼系統相關的部份留在 glibc 這個層次裡面,這可是整個 i18n 架構裡面核心的概念,對「國際化」這個議題有興趣的讀者都應該要細細品味才是。