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ódupouží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ýchasijských zemích se používá rozšířená verze EBCDIC, která pro zobrazení čínských, japonských čikorejských znaků používá 2-bytový kód. Pro přechod ze standardního 1-bytového do rozšířeného 2-bytové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 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 | — |