ISO 10646

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Mezinárodní standard ISO 10646 definuje Universal Character Set (UCS). UCS - univerzální znaková sada - zahrnuje všechny ostatní standardy znakových sad. UCS obsahuje znaky nutné k reprezentaci prakticky všech známých jazyků. Zahrnuje také množství grafických, typografických, matematických a vědeckých symbolů. Podobným standardem je Unicode, který definuje kompatibilní univerzální znakovou sadu.

ISO 10646 definuje 31 bitovou znakovou sadu. Většina používaných znaků, včetně ostatních kódovacích standardů, je umístěna na prvních 65534 pozicích (0x0000 - 0xFFFD). Tato 16bitová podmnožina se nazývá Basic Multilingual Plane (BMP). Znaky později přidané mimo BMP jsou obvykle pro specifické aplikace, jako např. historické skripty a vědecké symboly. Současný záměr je, že se nebude používat kód znaku mimo 21 bitový prostor, tj. mimo interval 0x000000 až 0x10FFFF. To poskytuje daleko více než milion potenciálních znaků.

UCS každému znaku přiřazuje nejen číselný kód, ale i oficiální jméno. Hexadecimální číslo reprezentující UCS nebo Unicode hodnotu je obvykle uvedeno znaky „U+“, jako např. U+0041 je znak velké latinské písmeno A (Latin capital letter A). UCS znaky U+0000 až U+007F jsou shodné se znaky ASCII tabulky a interval U+0000 až U+00FF jsou shodné s kódem ISO-8859-1.

Standard ISO 10646-1 byl poprvé publikován v roce 1993 a definuje architekturu UCS a obsah BMP. Druhá část ISO 10646-2 byla přidána v roce 2001 a definuje znaky mimo BMP. Nové znaky jsou průběžně přidávány, ale existující znaky nebudou nikdy měněny a jsou stabilní.

UCS také definuje základní metody, jak kódovat řetězce znaků jako sekvence byte. Nejpoužívanějším kódováním je UTF-8, dále je definováno UTF-16, UTF-32, UCS-2 a UCS-4.

UCS dále definuje tzv. kombinované znaky. Jsou to symboly které mají význam v kombinaci s jiným znakem a tvoří společně určitý symbol. Příkladem mohou být i česká diakritická znaménka. Část kombinovaných znaků má svůj samostatný kód, který vznikl historicky při kódování národních abeced. Pro účely matematických a dalších symbolů je možné vytvářet další kombinace, přidávat akcenty a diakritiku nad libovolný znak (např. šipku nad matematickou proměnnou).

Všechny informační systémy nepotřebují nutně všechny vlastnosti UCS. Jsou proto definovány následující implementační úrovně (implementation levels):

  • Level 1 - Kombinované znaky a „Hangul Jamo“ znaky (moderní korejská varianta abecedy) nejsou podporovány.
  • Level 2 - Jsou podporovány pevně definované kombinované znaky.
  • Level 3 - Jsou podporovány všechny UCS znaky, libovolné varianty kombinovaných znaků.