星期三, 8月 08, 2012

BIG-5碼它是中文系統下的編碼方式。

BIG-5碼它是中文系統下的編碼方式。

什麼是內碼

文字在電腦裡是以數位的方式儲存,透過一些協定來解釋數位資料所代表的文字。這些協定,我們稱之為內碼。

例如台灣常用的BIG5 編碼及國際常用的 Unicode[7]編碼都是。

Unicode System
是將目前所有出現過的各國文字盡量地蒐集,將之統一編碼,制定統一標準,供系統使用。

如還需更進一步的資料可以參考『可攜式字集資源-用以解決缺字問題』http://datf.iis.sinica.edu.tw/Papers/2004datfpapers/2/2.pdf

Unicode
是一種通行全球的編碼方式。Unicode 因為必須將中、韓、日、英、法、阿拉伯……等許多國家所使用的文字都納入,目前已經包含了六萬多個字元,所以 Unicode 使用了 16 個位元來為字元編碼。因為 Unicode 使用了 16 位元編碼,所以每個字元都用 16 位元來儲存或傳輸是很自然的事,這種儲存或傳輸的格式稱為 UTF-16

以下資料出自於 ?(方方土) 探討 big5e 編碼的內容
http://www.linux.org.tw/pipermail/cle-devel/2002-April/002146.html

何謂編碼?

在介紹編碼前,先介紹另一個名詞:字集(Character Set),字集是一組符號或
文字的組合,而編碼(Encoding)則是將這一組符號或文字以適當的方式編入位
元組中,以便電腦能夠表示與儲存。在許多情況下,由於一個編碼方式所能容
納的字數是有限的,所以可能一個編碼沒辦法包含整個字集,例如,Big5 編碼
只是中文字集的一部分。當然也有一個編碼包含許多字集的,例如 Unicode
目標是包含所以有字集。

英文系統內一樣有編碼。以一字節八位(8BITS)排列﹐共可得256個組合﹐即
0
255。但由於英文字母加上大小寫及常用的符號後﹐也不到128個﹐所以在
早期的電腦系統內﹐只用了0127(即十六進制的007F)。西文由於基本字
符少﹐所以用28次冪就能包涵所有的字元。它的內碼集共0255﹐名為ASCII

但是中文字集龐大,擁有數萬字,8Bits 已經不敷使用,所以使用了 16Bits
固定長度的 Big5 編碼,不過 16Bits 也只頂多能表示 65535,還考慮相容於
ASCII
,所以能用的字少很多,所以後來出現了 CCCII 以及 CNS11643 的中文
編碼。而最近也開始有人推 Unicode,這是準備包含所有字集的編碼。


Big5
編碼的背景

BIG-5
碼是 1984 年台灣資訊工業策進會根據《通用漢字標準交換碼》制訂的
編碼方案。


何謂 ASCII 碼?全名為:American Standard Code for Information Interchange,為資訊交換之標準碼。每個字元都有一個對應的 ASCII 碼,範圍從 0~127(後來增加了所謂的「Extended ASCII Codes」,引入更多的字元符號,範圍增加至 0~256)。

現在微軟的作業系統為了能同步上市在各國的語言版本,所以創出了多國語言包來讓各語系間能夠互通觀看。




Big5
:這是繁體中文 de facto 標準。

CNS11643
:台灣的官方標準繁體中文編碼。

Cp937
:繁體中文加上 6204 個使用者自定的字元

Cp948
:繁體中文版 IBM OS/2 用的編碼方式。

Cp964
:繁體中文版 IBM AIX 用的編碼方式。

EUC_TW
:台灣的加強版 Unicode

ISO2022CN
:編碼中文的一套標準。

ISO2022CN_CNS
:編碼中文的一套標準,繁體版,襲自 CNS11643

MS950
Cp950ASCII + Big5,用於台灣和香港的繁體中文 MS Windows作業系統。

Unicode
:有次序記號的 Unicode。次序記號佔用兩個 byte,如果其值是0xFEFF,表示使用 big-endian(由大到小)的次序為 Unicode 編碼;如果其值是 0xFFFF,表示使用 little-endian(由小到大)的次序為 Unicode 編碼。

UnicodeBig
:使用 big-endian(由大到小)的次序為 Unicode 編碼。

UnicodeLittle
:使用 little-endian(由小到大)的次序為 Unicode 編碼。

UTF8
:使用 UTF-8 Unicode 編碼。
參考資料

沒有留言:

張貼留言