ISO/IEC 646

Z Wikipedie, otevřené encyklopedie

ISO/IEC 646:1991 Informační technologie - 7bitová znaková sada ISO pro výměnu informací (anglicky Information technology — ISO 7-bit coded character set for information interchange) 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 (anglicky International Reference Version, IRV), 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í)[1]. 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 (anglicky International Reference Version, IRV), 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 (anglicky International Reference Alphabet, IRA), dříve Mezinárodní abeceda č. 5 (anglicky International Alphabet No. 5, IA5). 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[2].

Ř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ů (anglicky trigraphs) 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.

ISO/IEC 646
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
 
0_
 
NUL
0000
0
SOH
0001
1
STX
0002
2
ETX
0003
3
EOT
0004
4
ENQ
0005
5
ACK
0006
6
BEL
0007
7
BS
0008
8
HT
0009
9
LF
000A
10
VT
000B
11
FF
000C
12
CR
000D
13
SO
000E
14
SI
000F
15
 
1_
 
DLE
0010
16
DC1
0011
17
DC2
0012
18
DC3
0013
19
DC4
0014
20
NAK
0015
21
SYN
0016
22
ETB
0017
23
CAN
0018
24
EM
0019
25
SUB
001A
26
ESC
001B
27
FS
001C
28
GS
001D
29
RS
001E
30
US
001F
31
 
2_
 
SP
0020
32
!
0021
33
"
0022
34


35


36
%
0025
37
&
0026
38
'
0027
39
(
0028
40
)
0029
41
*
002A
42
+
002B
43
,
002C
44
-
002D
45
.
002E
46
/
002F
47
 
3_
 
0
0030
48
1
0031
49
2
0032
50
3
0033
51
4
0034
52
5
0035
53
6
0036
54
7
0037
55
8
0038
56
9
0039
57
:
003A
58
;
003B
59
<
003C
60
=
003D
61
>
003E
62
?
003F
63
 
4_
 


64
A
0041
65
B
0042
66
C
0043
67
D
0044
68
E
0045
69
F
0046
70
G
0047
71
H
0048
72
I
0049
73
J
004A
74
K
004B
75
L
004C
76
M
004D
77
N
004E
78
O
004F
79
 
5_
 
P
0050
80
Q
0051
81
R
0052
82
S
0053
83
T
0054
84
U
0055
85
V
0056
86
W
0057
87
X
0058
88
Y
0059
89
Z
005A
90


91


92


93


94
_
005F
95
 
6_
 


96
a
0061
97
b
0062
98
c
0063
99
d
0064
100
e
0065
101
f
0066
102
g
0067
103
h
0068
104
i
0069
105
j
006A
106
k
006B
107
l
006C
108
m
006D
109
n
006E
110
o
006F
111
 
7_
 
p
0070
112
q
0071
113
r
0072
114
s
0073
115
t
0074
116
u
0075
117
v
0076
118
w
0077
119
x
0078
120
y
0079
121
z
007A
122


123


124


125


126
DEL
007F
127

Národní varianty

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

Kód ISO-
IR
Standard Země a jazyk
CA-1 121 CSA Z243.4-1985 Kanada (nr. 1 alternative, with “î”)
(francouzština, tradiční)
CA-2 122 CSA Z243.4-1985 Kanada (nr. 2 alternative, with “É”)
(francouzština, reformovaný pravopis)
CN 057 GB/T 1988-80 Čínská republika (Basic Latin)
CU 151 NC 99-10:81 Kuba (španělština)
DE 021 DIN 66003 Německo (Němčina)
DK DS 2089 Dánsko (Dánština)
FI 010 SFS 4017 Finsko (základní verze)
FR 069 AFNOR NF Z 62010-1982 Francie (francouzština)
FR-0 025 AFNOR NF Z 62010-1973 Francie (v dubnu 1985 nahrazený novější verzí)
GB 004 BS 4730 Spojené království (angličtina)
GR 088 HOS ELOT Řecko (nahrazený novější verzí)
HU 086 MSZ 7795/3 Maďarsko (maďarština)
IE 207 NSAI 433:1996 Irsko (irština)
 
Kód ISO-
IR
Standard Země a jazyk
INV 170 ISO 646:1983 Invariant subset
IRV 002 ISO 646:1983 International Reference Variant
JA 014 JIS C 6220-1969 Japonsko (Rómadži)
JA-O 092 JIS C 6229-1984 Japonsko (OCR-B)
KR KS C 5636-1989 Jižní Korea
MT ? Malta (maltština, angličtina)
NO 060 NS 4551 verze 1 Norsko
NO-2 061 NS 4551 verze 2 Norsko (v červnu 1987 nahrazený novější verzí)
SE 010 SEN 85 02 00 Annex B Švédsko (základní švédština)
SE-C 011 SEN 85 02 00 Annex C Švédsko (rozšířená švédština pro jména)
T.61 102 ITU/CCITT Doporučení T.61 International (Teletex)
TW CNS 5205-1996 Čínská republika na Tchaj-wanu
US 006 ANSI X3.4-1968 Spojené státy (ASCII)
YU 141 JUS I.B1.002 (YUSCII) bývalá Jugoslávie (chorvatština, slovinština, srbština, bosenština)

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

Kód ISO-
IR
Organizace Původ Země a jazyk
ES 085 ECMA IBM Španělsko (baskičtina, španělština, katalánština, galicijština)
esp 017 ECMA Olivetti španělština (mezinárodní)
DK-SE 009-1 SIS NATS, základní sada Švédsko a Dánsko (novinové texty)
 
Kód ISO-
IR
Organizace Původ Země a jazyk
FI-SE 008-1 SIS NATS, základní sada Švédsko a Finsko (novinové texty)
ita 015 ECMA Olivetti italština
PT 084 ECMA IBM Portugalsko (portugalština, španělština)
por 016 ECMA Olivetti portugalština (mezinárodní)

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

Kódy Znaky pro jednotlivé znakové sady kompatibilní s ISO 646
bin dec hex INV T.61 US JA JA-O KR CN TW IRV GB DK NO NO-2 FI,SE SE-C DE HU FR FR-0 CA-1 CA-2 IE IS ita por PT esp ES CU MT YU
010 0010 34 22 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
010 0011 35 23   # # # # # # # # £ # # § # # # # £ £ # # £ # £ # £ # # # # #
010 0100 36 24   ¤ $ $ $ $ ¥ $ $ $ $ $ $ ¤ ¤ $ ¤ $ $ $ $ $ $ $ $ $ $ $ ¤ $ $
010 1001 39 27 ' ' ' ' ' ' ' ' '
010 1100 44 2C , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
010 1101 45 2D - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
010 1111 47 2F / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
100 0000 64 40   @ @ @ @ @ @ @ @ @ @ @ @ @ É § Á à à à à Ó Ð § § ´ § · @ @ Ž
101 1011 91 5B   [ [ [ [ [ [ [ [ [ Æ Æ Æ Ä Ä Ä É ° ° â â É Þ ° Ã Ã ¡ ¡ ¡ ġ Š
101 1100 92 5C     \ ¥ ¥ \ \ \ \ Ø Ø Ø Ö Ö Ö Ö ç ç ç ç Í \ ç Ç Ç Ñ Ñ Ñ ż Đ
101 1101 93 5D   ] ] ] ] ] ] ] ] ] Å Å Å Å Å Ü Ü § § ê ê Ú Æ é Õ Õ ¿ Ç ] ħ Ć
101 1110 94 5E     ^ ^ ^ ^ ^ ^ ˆ ˆ ˆ ˆ ˆ ˆ Ü ˆ ˆ ^ ˆ î É Á Ö ˆ ˆ ˆ ˆ ¿ ¿ ˆ Č
101 1111 95 5F _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
110 0000 96 60     ` `   ` ` ` ` ` ` ` ` ` é ` á µ µ ô ô ó ð ù ` ` ` ` ` ċ ž
111 1011 123 7B     { { { { { { { { æ æ æ ä ä ä é é é é é é þ à ã ã ° ´ ´ Ġ š
111 1100 124 7C   | | | | | | | | | ø ø ø ö ö ö ö ù ù ù ù í | ò ç ç ñ ñ ñ Ż đ
111 1101 125 7D     } } } } } } } } å å å å å ü ü è è è è ú æ è õ õ ç ç [ Ħ ć
111 1110 126 7E     ~   ˜ ˜ ˜ ¯ | ˜ ü ß ˝ ¨ ¨ û û á ö ì ° ˜ ˜ ¨ ¨ Ċ č

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

V tomto článku byl použit překlad textu z článku ISO/IEC 646 na anglické Wikipedii.

  1. Invariant Character Handling [online]. NCIP Standing Committee (NCIP-SC) [cit. 2015-02-24]. Dostupné v archivu pořízeném dne 24-12-2013. 
  2. Yuri Demchenko. Section 4. INTERNATIONAL STANDARDIZATION OF 7-BIT CODES, ISO 646 [online]. Terena.org [cit. 2012-08-13]. Dostupné online. 

Související články

Externí odkazy