Privacy Policy Cookie Policy Terms and Conditions UCS - Wikipédia

UCS

A Wikipédiából, a szabad lexikonból.

Ezt a szócikket át kellene olvasni, ellenőrizni a szövegét, tartalmát. További részleteket a cikk vitalapján találhatsz.
Unicode
Kódolások
  • UTF-7
  • UTF-8
  • CESU-8
  • UTF-16/UCS-2
  • UTF-32/UCS-4
  • UTF-EBCDIC
  • SCSU
  • Punycode
  • GB 18030
UCS
Elhelyezkedés
Kétirányú szöveg
BOM
Han egységesítés
Unicode és HTML
Unicode és e-mail
Unicode fontok

Az ISO/IEC 10646 által meghatározott nemzetközi szabvány határozza meg az Universal Character Set (UCS) - az univerzális karakterkészlet - szabványt a karakterkódolásra. A szabvány közel százezer absztrakt karaktert tartalmaz, mindegyikhez egy egyedi név és egy egész szám van rendelve, amit kódnak vagy kód mutatónak neveznek.

A karakterek (betűk, számok, szimbólumok, ideogrammák, logogrammák, stb.) a világ több nyelvéből, írás rendszeréből származnak, és egyedi kódjuk van az UCS-ben. Kizárólag az UCS az, amelyet folyamatosan bővítenek a benne még nem szereplő írásrendszer jeleivel.

1991-től az Unicode Consortium dolgozik együtt az ISO-val a The Unicode Standard ("Unicode") és az ISO/IEC 10646 együttes kifejlesztésén . A repertoár (lefedett írások, nyelvek és jelek), a karakterek nevei és kódok a Unicode 2.0 változatnál pontosan megegyeznek az ISO/IEC 10646-1:1993 és annak első hét Kiegészítése esetében. A 2000 februárjában nyilvánosságra hozott Unicode 3.0 megfelel az USC ISO/IEC 10646-1:2000 szerinti módosításainak.

Az UCS több, mint 1.1 millió kódot tartalmaz, de csak az első 65 536 (az Alap többnyelvű lap - Basic Multilingual Plane, vagy röviden csak BMP) került a 2000 előtti általánosan használt változatba. Ez a helyzet akkor kezdett változni, mikor a Kínai Népköztársaság 2000-ben megbízást kapott arra, hogy területén az eladott számítógép rendszerek támogassák a GB18030 szabványt, ami azt jelentette, hogy a kínában eladott számítógép rendszereknek a BPM-en túli kódokat (területeket) is használniuk kellett.

A rendszer készakarva hagy sok kódot szabadon (nincs karakter hozzá rendelve), még a BMP-n belül is. Ez a megoldás biztosítja, hogy a jövőben történő bővítések okozta konfliktusokat minimalizálják a különböző kódolási formák között.

Tartalomjegyzék

[szerkesztés] Az Universal Character Set kódolási formái

Az ISO 10646 számos karakter kódolási formátumot definiál az UCS számára. A legegyszerűbb, az UCS-2, egyedülálló kódértékeket használ minden karakterre (a kódokat egy vagy több szám határozza meg) 0 és 65 535 között, és megengedi, hogy pontosan két byteon (egy 16-bites szóban) legyen megjelenítve az adott kódérték. Az UCS-2 ezért megengedi a BMP minden kódjának bináris megjelenítését, de nem engedi meg a BMP-n kívüli kódok (és így karakterek) megjelenítését.

Az USC eredti kiadásának Első Kibővítése határozta meg az UTF-16-ot, az UCS-2 egy bővítését, amely képes megjeleníteni a BMP-n kívüli kódokat is. A BMP S (Speciális) zónájában bizonyos kódokhoz nincsenek karakterek rendelve. Az UCS-2 nem engedi meg ezeknek a kódoknak a használatát, de az UFT-16 megengedi, a párok segítségével. Minden pár egy "RC-elemet" (két 8 bites sorozat alkot egy R "elemet", és C "elem" pedig négy 8 bites sorozatból áll) tartalmaz. Az Unicode szintén alkalmazta a az UTF-16-os megoldást.

Másik kódolási eljárás, az UCS-4, egy értéket használ 0 és (elméletileg) hexadecimális 7FFFFFFF között egy-egy karakterre (bár az UCS megáll a 10FFFF értéknél, az ISO/IEC 10646-nál minden jövőbeli karakter számára elegendő lesz ez a tartomány). Az UCS-4 minden értéket pontosan 4 byte-on jelenít meg (egy 32-bites szó). Fentiek alapján az UCS-4 minden UCS kód értéket meg tud jeleníteni bináris formában, ideértve a BMP-n kívüli kódokat is. Mint ahogyan az UCS-2, az UCS-4 is fix hosszúságú, byte méretű kódértékeke használ, amelyekt így könnyű és egyszerű kezelni, csak kétszer akkora tároló szükséges hozzá, mint az UCS-2 esetében.

Néha, bizonyos Unicode-ről szóló cikkekeben úgy hivatkoznak az UCS-2-ra, mint "UCS-16". Valójában UCS-16 nem létezik; a szerzők többnyire vagy UCS-2-re, vagy UFT-16-ra akarnak hivatkozni.

[szerkesztés] Az ISO 10646 története

Az International Organization for Standardization (ISO) nemzetközi szervezet 1989-ben úgy döntött, hogy kidolgoz egy univerzális karakterkészletet és annak kódolását, Hugh McGregor Ross vezetésével. Az ISO 10646 munkaanyagát először 1990-ben publikálták. A jelenlegi szabvány elégé eltér már az első munkaanyagtól. 128 csoportot határoztak meg, minden csoport 256 lapból áll. Egy lap 256 sorból áll, soronként 256 cellával. Így összesen 2 147 483 648 karakter kódolható, de az aktuális szabvány változat "csak" 679 477 248 karaktert kezel, mivel a szabvány szerint a (0x00 és 0x1F valamint a 0x80 és 0x9F közötti értékek, hexadecimális jelöléssel) bárhol vezérlő karakternek vannak fenntartva. Például, a latin A nagybetű helye a kódtáblában a 0x20-as csoport 0x20-as lapjának 0x20-as sorának 0x41-es cellájában van.

Eredetileg egy karakter lehetséges kódját az ISO 10646 szabvány szerint a következő három módon lehet meghatározni:

  1. UCS-4, egy karakterhez egy 4 byte-os értéket rendel, minden karakter kódolható;
  2. UCS-2, egy karakterhez egy 2 byte-os értéket rendel, egyenesen kódolható az első lap, (0x20, a BMP) az első 36,864 kódérték, és másik lapokra vagy csoportokra az ISO 2022 szabványban leírt eszkép szekvenciákkal lehet átkapcsolni;
  3. UTF-1, egy karakterhez egy változó hosszúság byte sorozatot (1-5 byte, amelyek közül egyik sem lehet vezérlő karakter kóddal megegyező tartalmú) rendel.

1990-ben ezért két univerzális karakter kódolási megoldás létezett tehát: a Unicode, 16 bit/karakter (65,536 lehetséges karakter), és az ISO 10646. A szoftver gyártók elutasították a bonyolult és nagy helyigényű ISO szabvány elfogadását. A szabványosítók felismervén, hogy munka így nem folytatható, lépéseket tettek a szabványuk és az Unicode egysegésítése felé. Két lehetőség is felmerült: megemelni a kezelhető karakterek számt (kitiltva a vezérlő karaktereket), ez amegoldás a karakterkódokat kiterjeszti a 0x0000101F értékig; szinkronitás megteremtése az Alap többnylevű tábla (BMP) által lefedett karakterkészlet és az Unicode között.

Az idő előrehaladtával a helyzet változott, mivel maga az Unicode is megváltozott: a 65 536 karakter nem tűnt elegendőnek, a szabvány 2.0-ás változata már képes volt 1 112 064 karakter kódolására a már említett UTF-16 bővítő mechanizmusával. Ennek eredményeként az ISO 10646 korlátozta az UFT-16 módszerrel kódolandó karakterek számát, így az kicsit több, mint 1 millió lett, a 2 000 millió helyett. Az ISO 10646 UCS-4 szerinti kódolása az Unicode korlátozásként megjelent a szabványban (korlátozás az UTF-16 tartományra) és UTF-32/UCS-4 néven megjelentek. Ami az UFT-1-et illeti, azt senki sem használta, mivel rosszul tervezék (nem lehetett megkülönbözteteni az egy byte-os kódértéket egy vezető- vgy záró byte-tól, hasonló probléma volt a japán Shift-JIS kódolásával) és nagyon rossz teljesítményt is nyújtott (a sok osztási művelet miatt). Rob Pike és Ken Thompson, a Plan 9 operációs rendszer tervezői kitaláltak egy új, gyors és jól tervezett, kevert kódolási rendszert, amely UTF-8 néven lett ismert.

[szerkesztés] Az ISO 10646 és Unicode közötti különbségek

Az ISO 10646 és a Unicode bizonyos szinten azonos — azonos karakterehez azonos értékek tartoznak mindkét szabványban. Alapvető különbség az, hogy a Unicode kiegészült olyan szabályokal és specifikációkkal, amelyek kívül esnek az ISO 10646 hatókörén. Az ISO 10646 tulajdonképen egy egyszerű karakterkészlet, mintegy a korábbi ISO 8859 egy bővítése. Ezzel szemben, a Unicode bővítései kiterjednek egyeztetési szabályokra, a formák normalizálására, egy kétirányú algoritmusra a héber szerű és arab írás kezelésére. A különböző platformok közötti együttműködéshez, különösen a kétirányú írást használók esetében , az ISO 10646 támogatása önmagában nem elegendő; szükséges a Unicode implementálása.

Néhány alkalmazás támogatja az ISO 10646 karaktereket, de nem támogatja teljesen a Unicode-ot. Ilyen alkalmazás a Linux xterm, ami képes megjeleníteni az összes ISO 10646 karaktert, amelyek egy-az-egyben megfelelnek az egy-karakter-egy-glifa elrendezésnek, és egyedi and a single directionality. Képes kezelni néhány összetett jelet egy egyszerű felüljelző módszerrel, de nem tudja megjeleníteni a hébert (kétirányúan), a Devanagarit (egy karakter több glifa) vagy az arabot. A legtöbb GUI alkalmazás szabványos OS rutinokat használ az írások megjelenítésére, azonban az alkalmazások önmaguk nem mindig képesek a különböző írások kezelésére. Például, a Mozilla Firefox esetében a nem kezelhető írást egyszerűen átugorja.

[szerkesztés] Hivatkozás a Universal Character Set-re

Az ISO 10646, mint általános, informális hivatkozás az ISO/IEC 10646 szabvány családra, a legtöbb leírásban elfogadott. Létezik azonban a Unicode kifejezés, ami egy másik, független szabványt jelöl, és gyakran, informálisan hivatkoznak rá, ha az UCS-re akarnak utalni. Fentiekre tekintettel, bármilyen, UCS-el kapcsolatos hivatalos referencia, utalás esetén pontosan és részletesen meg kell határozni az érintett részt és verziót a következők szerint: ISO/IEC 10646-{rész}:{év}; például: ISO/IEC 10646-1:1993.

[szerkesztés] Összefüggések az Unicode-dal

  • ISO/IEC 10646-1:1993 ≈ Unicode 1.1
  • ISO/IEC 10646-1:2000 ≈ Unicode 3.0
  • ISO/IEC 10646-2:2001 ≈ Unicode 3.2
  • ISO/IEC 10646:2003 ≈ Unicode 4.0
  • ISO/IEC 10646:2003 és az 1. Kiegészítés ≈ Unicode 4.1
  • ISO/IEC 10646:2003 és az 1. Kiegészítés, a 2. Kiegészítés, és részben a 3. Kiegészítés ≈ Unicode 5.0

A részleteket lásd a §D.1 of The Unicode Standard pontban.

[szerkesztés] Lásd még

[szerkesztés] Egyéb, angol nyelvű linkek

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu