Přeskočit na obsah

EBCDIC

Z Wikipedie, otevřené encyklopedie

EBCDIC (zkratka anglického Extended Binary Coded Decimal Interchange Code, Rozšířený binárně kódovaný desítkový výměnný kód) je 8bitový znakový kód, navržený firmou IBM na základě kódu používaného pro děrné štítky a příslušného 6bitového BCD kódu využívaného v periferiích IBM na přelomu 50. a 60. let. Mimo systémy firmy IBM (a systémy jiných firem navržené za účelem kompatibility se systémy IBM) se pro stejný účel používá obvykle spíše kód ASCII (resp. jeho následovníci jako Unicode), EBCDIC je všeobecně považováno za anachronismus.

Jeden znak v základním kódu EBCDIC zabírá jeden byte, z něhož se první 4 bity označují jako zóna a vyjadřují kategorii daného znaku, druhé 4 bity se označují jako číslice a určují konkrétní znak. V některých asijských zemích se používá rozšířená verze EBCDIC, která pro zobrazení čínských, japonských či korejských znaků používá 2bytový kód. Pro přechod ze standardního 1bytového do rozšířeného 2bytového režimu a zpět se používají kódy 0EH a 0FH.

Existuje mnoho variant kódu EBCDIC pro různé země. Tyto kódové stránky se označují číselným kódem známým jako CCSID (Coded Character Set IDentifier). Některé znaky existují v různých kódových stránkách na různých pozicích, na což je třeba dát pozor při přenosu dat mezi různými systémy podporujícími EBCDIC.

Jednou z výrazných nevýhod kódu EBCDIC je, že znaky latinky netvoří spojitou posloupnost, takže např. běžný regulární výraz [a-z] používaný pro výběr všech malých písmen anglické abecedy by v EBCDIC nefungoval.

Rozložení

Kódy 0–63 a 255 jsou řídící, zbytek jsou platné znaky. Následující tabulka popisuje kódovou stránku 870 (tzv. Latin 2 Multilingual), zhruba odpovídající ASCII kódové stránce ISO-8859-2.

Dec Hex Znak Unicode Dec Hex Znak Unicode Dec Hex Znak Unicode Dec Hex Znak Unicode
0 00 NULL U+0000 64 40 mezera U+0020 128 80 ˘ U+02D8 192 C0 { U+007B
1 01 SOH U+0001 65 41 pevná mezera U+00A0 129 81 a U+0061 193 C1 A U+0041
2 02 STX U+0002 66 42 â U+00E2 130 82 b U+0062 194 C2 B U+0042
3 03 ETX U+0003 67 43 ä U+00E4 131 83 c U+0063 195 C3 C U+0043
4 04 PF 68 44 ţ U+0163 132 84 d U+0064 196 C4 D U+0044
5 05 HT U+0009 69 45 á U+00E1 133 85 e U+0065 197 C5 E U+0045
6 06 LC 70 46 ă U+0103 134 86 f U+0066 198 C6 F U+0046
7 07 DEL U+007F 71 47 č U+010D 135 87 g U+0067 199 C7 G U+0047
8 08 GE 72 48 ç U+00E7 136 88 h U+0068 200 C8 H U+0048
9 09 RLF 73 49 ć U+0107 137 89 i U+0069 201 C9 I U+0049
10 0A SMM 74 4A [ U+005B 138 8A ś U+015B 202 CA měkké dělítko U+00AD
11 0B VT U+000B 75 4B . U+002E 139 8B ň U+0148 203 CB ô U+00F4
12 0C FF U+000C 76 4C < U+003C 140 8C đ U+0111 204 CC ö U+00F6
13 0D CR U+000D 77 4D ( U+0028 141 8D ý U+00FD 205 CD ŕ U+0155
14 0E SO U+000E 78 4E + U+002B 142 8E ř U+0159 206 CE ó U+00F3
15 0F SI U+000F 79 4F ! U+0021 143 8F ş U+015F 207 CF ő U+0151
16 10 DLE U+0010 80 50 & U+0026 144 90 ° U+00B0 208 D0 } U+007D
17 11 DC1 U+0011 81 51 é U+00E9 145 91 j U+006A 209 D1 J U+004A
18 12 DC2 U+0012 82 52 ę U+0119 146 92 k U+006B 210 D2 K U+004B
19 13 TM 83 53 ë U+00EB 147 93 l U+006C 211 D3 L U+004C
20 14 RES 84 54 ů U+016F 148 94 m U+006D 212 D4 M U+004D
21 15 NL 85 55 í U+00ED 149 95 n U+006E 213 D5 N U+004E
22 16 BS U+0008 86 56 î U+00EE 150 96 o U+006F 214 D6 O U+004F
23 17 IL 87 57 ľ U+013E 151 97 p U+0070 215 D7 P U+0050
24 18 CAN U+0018 88 58 ĺ U+013A 152 98 q U+0071 216 D8 Q U+0051
25 19 EM U+0019 89 59 ß U+00DF 153 99 r U+0072 217 D9 R U+0052
26 1A CC 90 5A ] U+005D 154 9A ł U+0142 218 DA Ě U+011A
27 1B CU1 91 5B $ U+0024 155 9B ń U+0144 219 DB ű U+0171
28 1C IFS U+001C 92 5C * U+002A 156 9C š U+0161 220 DC ü U+00FC
29 1D IGS U+001D 93 5D ) U+0029 157 9D ¸ U+00B8 221 DD ť U+0165
30 1E IRS U+001E 94 5E ; U+003B 158 9E ˛ U+02DB 222 DE ú U+00FA
31 1F IUS U+001F 95 5F ^ U+005E 159 9F ¤ U+00A4 223 DF ě U+011B
32 20 DS 96 60 - U+002D 160 A0 ą U+0105 224 E0 \ U+005C
33 21 SOS 97 61 / U+002F 161 A1 ~ U+007E 225 E1 ÷ U+00F7
34 22 FS 98 62 Â U+00C2 162 A2 s U+0073 226 E2 S U+0053
35 23 99 63 Ä U+00C4 163 A3 t U+0074 227 E3 T U+0054
36 24 BYP 100 64 ˝ U+02DD 164 A4 u U+0075 228 E4 U U+0055
37 25 LF U+000A 101 65 Á U+00C1 165 A5 v U+0076 229 E5 V U+0056
38 26 ETB U+0017 102 66 Ă U+0102 166 A6 w U+0077 230 E6 W U+0057
39 27 ESC U+001B 103 67 Č U+010C 167 A7 x U+0078 231 E7 X U+0058
40 28 104 68 Ç U+00C7 168 A8 y U+0079 232 E8 Y U+0059
41 29 105 69 Ć U+0106 169 A9 z U+007A 233 E9 Z U+005A
42 2A SM 106 6A U+007C 170 AA Ś U+015A 234 EA ď U+010F
43 2B CU2 107 6B , U+002C 171 AB Ň U+0147 235 EB Ô U+00D4
44 2C 108 6C % U+0025 172 AC Ð U+00D0 236 EC Ö U+00D6
45 2D ENQ U+0005 109 6D _ U+005F 173 AD Ý U+00DD 237 ED Ŕ U+0154
46 2E ACK U+0006 110 6E > U+003E 174 AE Ř U+0158 238 EE Ó U+00D3
47 2F BEL U+0007 111 6F ? U+003F 175 AF Ş U+015E 239 EF Ő U+0150
48 30 112 70 ˇ U+02C7 176 B0 ˙ U+02D9 240 F0 0 U+0030
49 31 113 71 É U+00C9 177 B1 Ą U+0104 241 F1 1 U+0031
50 32 SYN U+0016 114 72 Ę U+0118 178 B2 ż U+017C 242 F2 2 U+0032
51 33 115 73 Ë U+00CB 179 B3 Ţ U+0162 243 F3 3 U+0033
52 34 PN 116 74 Ů U+016E 180 B4 Ż U+017B 244 F4 4 U+0034
53 35 RS 117 75 Í U+00CD 181 B5 § U+00A7 245 F5 5 U+0035
54 36 UC 118 76 Î U+00CE 182 B6 ž U+017E 246 F6 6 U+0036
55 37 EOT U+0004 119 77 Ľ U+013D 183 B7 ź U+017A 247 F7 7 U+0037
56 38 120 78 Ĺ U+0139 184 B8 Ž U+017D 248 F8 8 U+0038
57 39 121 79 ` U+0060 185 B9 Ź U+0179 249 F9 9 U+0039
58 3A 122 7A : U+003A 186 BA Ł U+0141 250 FA Ď U+010E
59 3B CU3 123 7B # U+0023 187 BB Ń U+0143 251 FB Ű U+0170
60 3C DC4 U+0014 124 7C @ U+0040 188 BC Š U+0160 252 FC Ü U+00DC
61 3D NAK U+0015 125 7D ' U+0027 189 BD ¨ U+00A8 253 FD Ť U+0164
62 3E 126 7E = U+003D 190 BE ´ U+00B4 254 FE Ú U+00DA
63 3F SUB U+001A 127 7F " U+0022 191 BF × U+00D7 255 FF EO

Externí odkazy