Unicode

Lohankhapedia (自由的百科全書) 欲共你講..。
(對 Thóng-it-bé 轉來)
跳至導覽 跳至搜尋

Unicode或者 (he̍k-chiá) (kiò)通用碼 (thong-iōng-bé) (通用碼),萬國碼 (bān-kok-bé) (萬國碼; 華語 (Hôa-gí)呼音 (ho͘-im): Wanguoma) ()1 (chióng)編碼 (pian-bé)標準 (piau-chún)Unicode (ji̍t) ()英語 (Eng-gí)uni (kap)code 2字組合起來的 (cho͘-ha̍p--khí-lâi-ê)Uni (ū) "通用 (thong-iōng)" (ê)意思 (ì-sù); code是 "浮碼 (hû-bé)" 的意思。 Unicode的1 (ê)重要 (tiōng-iàu)理念 (lí-liām) (beh)設計 (siat-kè)1 (thò)會使 (ē-sài)處理 (chhú-lí)世界 (sè-kài)各種 (kok-chióng)文字 (bûn-jī)的編碼。

簡單 (Kán-tan) (kóng),通用碼是1个國際 (kok-chè)標準。 (I)目標 (bo̍k-piau) ()處理世界各種語言 (gí-giân)的文字的字圖 (jī-tô͘)做編碼 (chòe-pian-bé)。共 (múi)1个字圖對應 (tùi-èng) (kàu)1个整數 (chéng-sò͘)織的 (Chit-ê)整數叫做 (kiò-chòe)織的字圖的尾位 (bé-ūi)按呢 (Án-ne)會使共文字轉化 (choán-hoà) (choè)數字 (sò͘-jī) (chiah)與發就 (ū-hoat-tō) (iōng)電腦 (tiān-náu)處理 (kah)保存 (pó-chûn)

通用碼有一寡 (chi̍t-koá)技術 (ki-su̍t) (siōng)限制 (hān-chè)問題 (būn-tê)嘛有 (Mā-ū)一寡 (chi̍t-kóa)批評 (phoe-phêng)毋過 (M̄-koh),通用碼漸漸 (chiām-chiām)變做 (piàn-chòe)軟體 (nńg-thé)國際化 (kok-chè-hòa)佮軟體多語言 (to-gí-giân)環境 (khoân-kéng) (chit)2 (hāng)事工 (sū-kang)主流 (chú-liû)的編碼。Microsoft Windows NT後來 (āu-lâi)Microsoft Windows 2000Microsoft Windows XPUTF-16 (lâi)保存系統 (hē-thóng)內部 (lāi-pō͘)用的文字。UNIX (lūi)的系統, (chhiūⁿ)LinuxBSD (OpenBSDFreeBSD) 佮Mac OS XUTF-8表現 (piáu-hiān)多語言的文字。

起源 (Khí-goân)[修改]

早期 (Chá-kî)電腦用的編碼主要 (chú-iàu)針對 (chiam-tùi)英語來設計。加焦 (Ka-na)適合 (sek-ha̍p)處理英文 (Eng-bûn)。後來漸漸增加 (cheng-ka)歐洲 (Au-chiu)其他 (kî-tha)主要語言用的字母 (jī-bó)。毋過,無仝 (bô-kâng)國家 (kok-ka) (só͘)需要 (su-iàu)真家 (chin-ka)的字母 (lóng)無仝。結果 (Kiat-kó)出現 (chhut-hiān)真濟 (chin-chē)無法度 (bô-hoat-tō͘) (sio)交通 (kau-thong)的編碼。用法語 (Hoat-gí)編碼系統保存的資料 (chu-liāu) ()德語 (Tek-gí)編碼系統來 (tha̍k)佮處理 (ē)重耽去 (têng-tâⁿ--khì)。針對1種語言的編碼系統設計的軟體加焦會使處理 (hit)種語言。欲共織的軟體 (kái)佮會使處理 (pa̍t)種語言是 (chin)費氣 (hùi-khì)代誌 (tāi-chì)。欲用電腦處理1 (chóng)以上 (í-siōng)的語言會使講真困難 (khùn-lân)。若是考慮 (khó-lū)世界其他的語言佮文字,織的問題家焦 (ka-na)愈來 (lú-lâi) ()傷重 (siong-tiōng)

若是 (Nā-sī)有1 (thò)編碼會使處理世界各種文字。 () (kâng)語言的資料交通 (tio̍h) (piàn)簡單。同時 (Tông-sî)處理多語言 () (piàn)簡單。若是1套軟體利用 (lī-iōng)這種編碼來設計,織的軟體, (tiō)算講 (sǹg-kóng)開始 (khai-sí)是針對 (bó͘)1總語言來設計,嘛會使 (khah)簡單就解來支援 (chi-oān)別總 (pa̍t-chóng)語言佮文字。遮的 (Chia-ê)利益 (lī-ek)會使講是早期開始推捒 (thui-sak)通用碼的動機 (tōng-ki)

了解 (liáu-kái)推捒通用碼這種 (chit-chióng)編碼標準的動機,需要 (seng)了搞 (liáu-káu)啥物 (siáⁿ-mi̍h)是編碼。用英語 (chòe) ()。英語需要26个大寫 (tōa-siá)的字 (ABC...XYZ), 26个小寫 (sió-siá)的字 (abc...xyz), Arabic數字 (0123456789),佮1 (kóa)標點 (piau-tiám) (字)。欲用電腦處理英語,需要1个對照表 (tùi-chiàu-pió),織的 (pió) (ka)每1个字對應1个獨一 (to̍k-it)个2進位 (chìn-ūi)數字。毋過,中要 (tiòng-iàu)的是,逐个 (ta̍k-ê) (lâng) (ài)仝款 (kāng-khóan)的對照表。按呢逐家 (ta̍k-ke) (chia)法道 (hoat-tō)溝通 (ko͘-thong),欲加遮的2進位數字翻譯 (hoan-e̍k) (tńg)來做英語才 (bôe)重耽 (têng-tâⁿ)

ASCII[修改]

詳細請看: ASCII

1个編碼系統會使對應到偌濟 (gōa-chē)的字圖愛 (khòaⁿ)織的編碼用規个 (kui-ê)bit來保存編碼表 (pian-bé-pió)。 1个7-bit的2進位數字對應的泛圍 (hoàn-ûi) (àn)0到2^7-1=127( (thak)做2个7次方 (chhù-hong))。莎與 (So-í), 1个7-bit的編碼會使上濟 (siōng-chē)對應到128个字圖。仝款 (Kāng-khoán)道理 (tō-lí), 1个8-bit的編碼會使對應到256个字圖。 1个16 bit的編碼會使對應到 ??? 的字圖。用愈濟 (lú-chē)bit的編碼會使對應到愈濟的字圖,毋過,欲保存1个字需要的RAM嘛愈濟。

早期的電腦, RAM是真珍貴 (tin-kùi)資源 (chu-goân)怹對 (In-ùi)按呢,逐家會用 ()的編碼。處理英語的是,算算 (sǹg-sǹg)7-bit的編碼就有夠 (ū-kàu) (Che)做成 (chò-sêng)7-bit的ASCII編碼標主 (piau-chú)。毋過,其他 (kî-thaⁿ)羅馬字 (lô-má-jī)文字系統的Europe語研 (gí-gian)遮遮 (chia-chia)食要 (sū-iàu)1 (koa)有加撇音 (phiat-im)附蒿 (hū-ho)的字,像 'å',或者是 (he̍k-chiá-sī)1 (koá)連字 (liân-jī),像 'œ'。遮的字(字圖) 無包括 (pau-koah) ()ASCII編碼。 Europe國家,開始製程 (chè-têng)8-bit的編碼。遮的8-bit編碼, (tùi)0到128个尾位佮ASCII完全 (oân-choân)相siâng。

組好的 (Cho͘-hó-ê)字母佮組合的 (Cho͘-ha̍p-ê)字母[修改]

為著 (Ūi-tio̍h)欲佇有限 (iú-hān)的編碼空間 (khong-kan)內蒂 (lāi-tè)之源 (chi-goân)愈濟愈好 (lú-hó)的文字,通用碼使用 (sú-iōng)組哈的 (cho͘-hap-ê)字母做法 (chò-hoat)。用 (á)織的字 (chò)例。通用碼有 ()織的字家己 (ka-kī)1个尾位 (U+00E1)。毋過, (lán) ()a會使想講 (siūⁿ-kóng)織的字是a (尾位U+0061) 佮ˊ組哈的 (cho͘-hap--ê)。佇通用碼有定義 (tēng-gī)1个組哈用 (cho͘-hap-iōng) (combining) 的ˊ (尾位U+0301)。 N̄a是出現 (chhut-hiàn)U+0061 U+0301這2个數字相連 (sio-liân),咱 (tio̍h)愛了解這是愛 ()頭前 (thâu-chêng)U+0061代表 (tāi-piáu) (a)後壁 (aū-piah)U+0301代表的ˊ組合 (cho͘-ha̍p)。用 (U+00E1) 1个數字來表示 (piáu-sī)羅馬字字母的,這種叫組好的字母。 (precomposed character)。用U+0061 U+0301來表示,這種叫組合的字母 (composed character)。 (Chhiū)U+0301這種的, (chiò)組合用 (cho͘-ha̍p-iōng)字母 (combining character)。

1个車造 (ki-chhò)字母 (base character) 後壁會使 (chiap)1个以上的組合用字母,形成 (hêng-sêng)1个組合的字母。若是遮的組合的字母攏欲 (kái)且好的 (cho͘-hó-ê)字母,有家己的尾位。限奶 (Ān-ne)會需要用調 (tiāu)真濟尾位,怹對組合的可能性 (khó-lêng-sèng)有真濟。毋過,早前 (chá-chêng)的其他編碼一般 (it-poaⁿ)無用組合。為著piāⁿ ()子女 (chú-lí) (ka) ()編碼的資料交通, Europa的主要語言用的文字的字母,伊般 (i-poaⁿ)佇通用碼 (lāi)攏有 (lóng-ū)對應的組合夥 (cho͘-ha̍p-hó)的字母。為著詔告 (chiàu-kò)1的字母可能 (khó-lêng)有1的以上的表示法 (piáu-sī-hoat) (租好的 (cho͘-hó-ê) (kap)組合的)。通用碼有邱定 (khu-tēng)2个表示按炸 (án-chòaⁿ) (sèng)仝意 (kâng-ì) (相siâng),織的法則 (hoat-chek)canonical equivalence

漢字 (Hàn-jī)的 '明' 織的字做假想 (ké-sióng)的例 (實際 (si̍t-chè)上Unicode對明的次女 (chhù-lí)是做單獨 (tan-to̍k) (chi̍t)字,毋是 (m̄-sī) (nn̄g)字的組合)。織的 ()一般干焦 (kan-na)用1个字圖來印刷 (ìn-soat),有督逐 (tok-lip)的尾位。毋過,織的字嘛會使 (ē-sái)拆做 (thiah-chòe)2个字圖,分別 (hun-piat)是 '日' 佮 '月'。用這2个字圖來印刷,可能會 (ìn) (chhut)像 '日月' 按呢的 (tô͘) ,真歹看 (pháiⁿ-khòaⁿ)

毋過,共 '明' 拆做2个字圖來印刷有1个好厝 (hó--chhù): 減少 (kiám-chió)需要的字圖。佇1个字用1个字圖的情形 (chêng-hêng),欲 (ìn) '日','月','明',需要3个字圖。若是 '明' (thiah)做2个字圖應,干焦需要2个字圖。怹對字圖的數目 (sò͘-bo̍k)一中 (it-tèng)是有限。欲用遮的有限的字圖來印刷 ()字圖數目閣較 (koh-khah) (chē)的字的 (),需要共字拆做 (thiah-choè)1个以上的字圖來應。也就是 (Iā-tio̍h-sī)用字圖 (khì)組合 ( (tàu)) 出新的 (sin-ê)字。

欲用2个以上的字圖來組合出1个字的時, (Su) (iàu)用1寡印刷技術,若無 (nā-bô)應的字的像 '日月' 按呢真歹看。

顯示 (Hián-sī)的問題[修改]

正確 (chèng-khak)顯示組合的字母事要 (sū-iàu)複雜 (ho̍k-cha̍p)字型 (jī-hêng)顯示技術。遮的技術毋是通用碼標準的1部分 (pō͘-hūn)總管 (Chóng-kóng)怹對大部分 (tōa-pō͘-hūn)的文字干焦需要用且好的字母,電腦軟底 (nńg-té)對組合字母的支援到今 (kaù-taⁿ) ()oân無到好 (bô-kaù-hó)與發度 (Ū-hoat-tō͘)正確顯示組合字母的基層 (ki-chân)字型技術有OpenType (Adobe SystemMicrosoft制定 (chè-tēng)),AAT (Apple Computer制定),佮Graphite (SIL International制定)。毋過,大份 (tōa-hūn)的軟體無去利用遮的字型技術,大份的字型嘛無支援,所以 (só͘-í)法度 (hoat-tō͘)正確顯示組合的字母。比論 (Pí-lūn) (chiū)白話字 (Pe̍h-oē-jī)來講,真濟白話字字母毋是代先 (tāi-seng) (to̍h)已經 (í-keng)組合好勢 (hó-sè)的通用碼,也就是 (iā-to̍h-sī)一定 (it-tēng)愛用 (ài-iōng)組合的方式 (hong-sek)。大部分的軟體 (leh)顯示遮的字母的時會重耽去 ( (pìⁿ)亂碼 (lōan-má))。

雙向 (Siang-hiòng)文字[修改]

有的文字系統是按倒爿 (tó-pêng) (hiòng)正爿 (chiàⁿ-pêng) (siá),像Latin文字。有的是按正爿向倒拼 (tó-pêng)寫,像希伯來語 (Hi-pek-lâi-gí)阿拉伯語 (A-la-pek-gí)

UTF[修改]

UTF-8[修改]

尾位的泛圍
16進位
UTF-16 UTF-8
binary
Notes
000000 - 00007F 00000000 0xxxxxxx 0xxxxxxx ASCII equivalence range; byte begins with zero
000080 - 0007FF 00000xxx xxxxxxxx 110xxxxx 10xxxxxx first byte begins with 110 or 1110, the following byte(s) begin with 10
000800 - 00FFFF xxxxxxxx xxxxxxxx 1110xxxx 10xxxxxx 10xxxxxx
010000 - 10FFFF 110110xx xxxxxxxx
110111xx xxxxxxxx
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx UTF-16 requires surrogates; an offset of 0x10000 is subtracted, so the bit pattern is not identical with UTF-8

UTF-16[修改]

Pian-chi̍p tiong 這拋猶未有人寫。請鬥補充內容.

UTF-32[修改]

Pian-chi̍p tiong 這拋猶未有人寫。請鬥補充內容.

BiDi[修改]

Pian-chi̍p tiong 這拋猶未有人寫。請鬥補充內容.

Consortium[修改]

Pian-chi̍p tiong 這拋猶未有人寫。請鬥補充內容.

UCS[修改]

Pian-chi̍p tiong 這拋猶未有人寫。請鬥補充內容.

漢字統一 (thóng-it) ( (Han)unification)[修改]

Pian-chi̍p tiong 這拋猶未有人寫。請鬥補充內容.

字型[修改]

Pian-chi̍p tiong 這拋猶未有人寫。請鬥補充內容.

版本 (Pán-pún)歷史 (le̍k-sú)[修改]

  • 1991 ()Unicode 1.0
  • 1993年Unicode 1.1
  • 1996年Unicode 2.0
  • 1998年Unicode 2.1
  • 1999年Unicode 3.0
  • 2001年Unicode 3.1
  • 2002年Unicode 3.2
  • 2003年Unicode 4.0
  • 2005年Unicode 4.1
  • 2006年Unicode 5.0

白話字 (Pe̍h-ōe-jī)佮通用碼[修改]

(Chhiáⁿ)參考 (chham-khó)Taigi Unicode這篇 (chit-phiⁿ)文章 (bûn-chiuⁿ)

外部 (Goā-pō͘)連結 (liân-kiat)[修改]