EBCDIC
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
- F.0 Appendix F. Code Pages Archivováno 21. 3. 2001 na Wayback Machine