ISO/IEC 646
ISO/IEC 646:1991 Informační technologie – 7bitová znaková sada ISO pro výměnu informací () je standard Mezinárodní organizace pro normalizaci (ISO), který od svého prvního vydání v roce 1972 definoval 7bitové kódování znaků, z něhož je odvozeno několik národních standardů. Tento standard byl také přijat organizací ECMA jako ECMA-6.

ISO/IEC 646 stanovuje, jaké znaky v kódování ASCII lze nahrazovat národními znaky při vytváření 7bitových národních kódování znaků. Zároveň definuje mezinárodní referenční verzi (), která je ve verzi ISO/IEC 646:1991 shodná s kódováním ASCII.

Podle ISO/IEC 646 větší část znaků tvoří základní znakovou sadu, která je neměnná (invariantní). Protože tato část ISO/IEC 646, která tvoří invariantní znakovou sadu sdílenou všemi zeměmi, definovala pouze znaky použité v základní abecedě ISO Latin, země, v nichž se používají jiné znaky, si musely vytvořit národní varianty ISO 646, aby byly schopné používat svá národní písma. Protože v té době se obecně nepoužívaly 8bitové bajty, národní znaky se musely vejít do rozsahu dostupného pomocí 7bitového kódování, což znamená, že některé znaky dostupné v ASCII v národních variantách ISO 646 nejsou k dispozici.

Historie 

ISO/IEC 646 a jeho předchůdce ASCII (ANSI X3.4) do značné míry stanovily existující praxi při používání znakových kódování v odvětví telekomunikací.

Protože ASCII neobsahovalo znaky potřebné pro jiné jazyky než angličtinu, bylo vytvořeno několik národních variant, ve kterých jsou některé méně používané znaky nahrazeny znaky potřebnými v příslušném jazyce. Kvůli těmto rozdílům vznikla mezinárodní referenční verze ISO/IEC 646 (), která usilovala o omezení nahrazovaných znaků na stejné znaky ve všech variantách. Původní verze ISO 646 IRV se lišila od ASCII pouze nahrazením znaku s kódem 0024, který je v ASCII použit pro znak dolar za mezinárodní znak měny (¤). Poslední verze ISO 646:1991 z roku 1991 je také známá jako T.50 Mezinárodní referenční abeceda (), dříve Mezinárodní abeceda č. 5 (). Tento standard umožňuje používat celkem 12 pozic pro národní znaky (2 alternativní grafické znaky a 10 národních znaků). Mezi těmito variantami je explicitně definováno ISO 646:1991 IRV (International Reference Version), které je identické s ASCII.

Řada standardů ISO 8859 používá 8bitová kódování, která nahrazují mezinárodní standard ISO 646 i jeho národní varianty rozšířením kódu o jeden bit, což poskytuje dalších 96 kódových pozic, takže nahrazování ASCII kódu není potřebné. Standard ISO 10646 vyvíjený v součinnosti s Unicode nahrazuje znakové sady ISO 646 a ISO 8859 jednotným kódováním používajícím 21bitové kódy.

Vliv ISO 646 je vidět ve Windows, v jejichž některých znakových sadách je znak zpětné lomítko nahrazen znakem ¥ nebo jinými znaky. Bez ohledu na to, že znak ¥ byl obsažen (na jiné pozici) už v původním kódování na počítačích IBM PC, existuje tolik textů (v Japonštině), které pro znak ¥ používají jí kód 5C16, že na této pozici mají znak ¥ i v některé moderní fonty pro Windows. Dalším dědictvím je existence trojznaků () v programovacím jazyce C.

Rozložení znaků 

Následující tabulka ukazuje znakovou sadu ISO/IEC 646. U každého znaku je uveden jeho šestnáctkový a desítkový kód. Šedě jsou vyznačena políčka, jejichž reprezentace se v různých zemích liší. Tato políčka jsou podrobněji rozebrána v další tabulce.

Národní varianty 

Některé národní varianty jsou uvedeny v následující tabulce:

Další proprietární standardy později schválené pro mezinárodní použití některými standardizačními výbory:

Rozdíly v jednotlivých kódováních ukazuje následující tabulka:

Políčka v této tabulce vybarvená jinak než bíle zdůrazňují rozdíly mezi americkou variantou použitou v základní podsadě Latin standardu ISO/IEC 10646 a Unicode.

Znaky v políčkách podbarvených červeně mohou být použity jako kombinační znaky pokud jim předchází nebo pokud za nimi následuje řídicí znak backspace. Tato metoda kódování se však považuje za nedoporučovanou.

Když se později rozšířila vícebitová kódování, ISO 8859, různými výrobci definovaná kódování a později ISO 10646 se začaly přednostně používat místo těchto národních sad.

Varianty ASCII, které nepatří do ISO 646 

Existuje několik 7bitových znakových sad odvozených od ASCII, které nejsou součástí standardu ISO 646, mezi které patří:

 7bitové kódování ELOT 927 pro řečtinu. Pro řecké znaky jsou použity kódy 0x61–0x71 a 0x73–0x79 nahrazující malá písmena.
 7bitové kódování KOI-7 (malé KOI) pro cyrilici. Znaky Cyrilice jsou namapovány na kódy 0x60–0x7E místo malých písmen. Kódování je nahrazeno novějšími variantami KOI-8.
 7bitové kódování SI 960 pro hebrejštinu. Pro hebrejské znaky jsou použity kódy 0x41–0x5A a 0x60–0x6A místo malých i velkých písmen. Texty v tomto kódování byly vždy ukládány ve vizuálním pořadí.
 7bitové kódování ASMO 449 pro arabštinu. Arabská abeceda je namapována na kódy 0x41–0x5A a 0x60–0x6A místo velkých i malých písmen latinky. Toto mapování s nastaveným nejvyšším bitem je ISO 8859-6.

Odkazy

Reference

Související články 

 Basic Latin (disambiguation)
 ASCII
 Extended ASCII
 EBCDIC
 ISO/IEC 2022 Information technology: Character code structure and extension techniques
 ISO 8859
 ISO 10646
 ISO 6937 (ANSI)
 C0 Controls and Basic Latin, v Unicode
 C Trigraph
 T.50
 ISO/IEC JTC 1/SC 2

Externí odkazy 

 Standard ECMA-6
 Zeichensatz nach ISO 646 (ASCII) (německy)
 Historie na WWW serveru věnovanému GNU Aspellu
 Character Tables by Koichi Yasuoka (viz Domestic ISO646 Character Tables and Quasi-ISO646 Character Tables)
 Nástroj pro doplnění turecké diakritiky Používá četnosti pentagramů v turečtině.

Kódování znaků
Standardy ECMA
00646
Standardy ISO podle id