PIECE2巨群
網頁設計 ‧ 平面設計 ‧ 虛擬主機 ‧ 網路行銷
最新消息
資訊分享
關於我們 服務項目 客戶案例 製作流程 虛擬主機 聯絡我們
網頁設計執行時,該採通用字元集還是字集獨立處理?

當我們瞭解網頁設計的原始碼檔案編碼,並正確告知編譯器與直譯器,只是第一步,接下來,得瞭解程式設計的運行時採用通用字元集(UCS)或字元集獨立處理。

以Java為例,其採用通用字元集處理方式,執行時期字元的內部編碼(Internal Encoding)固定採用UTF-16 Big Endian,每個字元實際都是兩個位元組,字元不會有其他編碼資訊。

由於外部字元資料的編碼,可能與內部編碼不一致,採通用字元集的程式,都會提供編碼轉換方法,例如Java的String提供getBytes(),可將代表字元UTF-16編碼的位元組,轉換為指定編碼的位元組,使用Reader、Writer等類別處理字元輸入輸出時,也可指定外部編碼(External Encoding)資訊,將字元的位元組正確讀入,並轉換為UTF-16,或將UTF-16正確轉換為目的地編碼的位元組。

為了簡化通用字元集編碼轉換問題,這類程式執行時期通常可指定預設外部編碼,例如,Java執行時,可指定系統屬性file.encoding,作為String的getBytes()方法,或FileReader、FileWriter等API預設的外部編碼轉換依據。

採字元集獨立方式處理,沒有外部與內部編碼轉換問題,字元集獨立方式下,字元在程式執行時只是原始的位元組集合。

例如Ruby 1.8採字元集獨立方式,程式設計的原始碼若使用UTF-8撰寫的中文字元佔了三個位元組,那在程式運行時也是佔3個位元組,原始碼若使用Big5撰寫中文字元,在程式運行時就是佔2個位元組。

雖然沒有外部與內部編碼轉換問題,但實際上字元只是原始位元組集合,要完成計算字元長度或使用規則表示式(Regular expression)處理時較麻煩。

Ruby 1.9也採字元集獨立方式,但允許指定預設內部編碼與外部編碼,在讀取或寫入外部資料時,若沒有額外指定編碼,會使用預設內部編碼與外部編碼作為轉換依據,不過字串也允許擁有個別編碼資訊,而不一定要採用內部編碼。

雖然採字元集獨立方式,不過Ruby 1.9加強了編碼轉換API,像是透過字串取得長度時,傳回的是字元長度而不是位元組長度,編碼轉換也可以透過encode()等方法來完成。

 


轉貼來源:iThome online

 


參考文獻:

1.陳會安,2002,Java2 程式設計範例教本,台北:學貫行銷股份有限公司。

2.黃中杰,2002,JAVA 與XML 技術手冊,台北:碁峰資訊股份有限公司。

3.楊宗誌,2002,JBuildert 程式設計實務,台北:文魁資訊股份有限公司。

 
返回列表
上一頁 下一頁


相關文章

瞭解網頁設計的亂碼原因
Firefox 7為網頁設計帶來什麼樣的變化
IE10增強網頁設計對於新HTML5及新CSS支援
關於網頁設計的浮動圖層CSS解法
瀏覽器如何在網頁設計中的本文正確顯示出內容?


最新文章

HVACKer:入侵隔離網絡的新型攻擊技術
還有什麼不會被入侵?路由器 LED 燈已成為攻擊入口
美 5 家獨角獸同天申請 IPO 掛牌,最狂的是一家估值 124 億美的數據分析新創!
【台灣「智慧產業」開始佈局】緯創集團領投跨國 AI 新創 iKala,下一步拓展東南亞市場
快可以用手機遠端遙控你的所有家電了



 
PIECE2巨群 版權所有 © 2008 總公司:06-2895301 台北:02-82529838 台中:04-25152530 高雄:07-7931226
驗證 CSS 驗證 W3C
專精項目:網頁設計   網站設計   平面設計   包裝設計   關鍵字行銷   關鍵字排名   網路行銷   網站代管   虛擬主機   ERP系統