Code page 858
Code page 858 (also known as CP 858, IBM 00858,[1] OEM 858[2]) is a code page used under MS-DOS to write Western European languages.
Code page 858 was created from code page 850 in 1998 by changing code point 213 (D5hex) from dotless i ‹ı› to the euro sign ‹€›.[1]
Still, instead of adding support for the new code page 858, IBM's PC DOS 2000, also released in 1998, changed the definition of the existing code page 850 to what IBM called modified code page 850 to include the euro sign at code point 213.[nb 1][3][4][5] More recent IBM products implemented codepage 858 under its own ID.
Code page layout
The following table shows code page 858.[2] Each character is shown with its equivalent Unicode code point and its decimal code point. Only the second half of the table (code points 128–255) is shown, the first half (code points 0–127) being the same as ASCII; although code points 1–31 and 127 (00–1Fhex and 7Fhex) have a different interpretation in some circumstances – see code page 437.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8_ |
Ç 00C7 128 |
ü 00FC 129 |
é 00E9 130 |
â 00E2 131 |
ä 00E4 132 |
à 00E0 133 |
å 00E5 134 |
ç 00E7 135 |
ê 00EA 136 |
ë 00EB 137 |
è 00E8 138 |
ï 00EF 139 |
î 00EE 140 |
ì 00EC 141 |
Ä 00C4 142 |
Å 00C5 143 |
9_ |
É 00C9 144 |
æ 00E6 145 |
Æ 00C6 146 |
ô 00F4 147 |
ö 00F6 148 |
ò 00F2 149 |
û 00FB 150 |
ù 00F9 151 |
ÿ 00FF 152 |
Ö 00D6 153 |
Ü 00DC 154 |
ø 00F8 155 |
£ 00A3 156 |
Ø 00D8 157 |
× 00D7 158 |
ƒ 0192 159 |
A_ |
á 00E1 160 |
í 00ED 161 |
ó 00F3 162 |
ú 00FA 163 |
ñ 00F1 164 |
Ñ 00D1 165 |
ª 00AA 166 |
º 00BA 167 |
¿ 00BF 168 |
® 00AE 169 |
¬ 00AC 170 |
½ 00BD 171 |
¼ 00BC 172 |
¡ 00A1 173 |
« 00AB 174 |
» 00BB 175 |
B_ |
░ 2591 176 |
▒ 2592 177 |
▓ 2593 178 |
│ 2502 179 |
┤ 2524 180 |
Á 00C1 181 |
 00C2 182 |
À 00C0 183 |
© 00A9 184 |
╣ 2563 185 |
║ 2551 186 |
╗ 2557 187 |
╝ 255D 188 |
¢ 00A2 189 |
¥ 00A5 190 |
┐ 2510 191 |
C_ |
└ 2514 192 |
┴ 2534 193 |
┬ 252C 194 |
├ 251C 195 |
─ 2500 196 |
┼ 253C 197 |
ã 00E3 198 |
à 00C3 199 |
╚ 255A 200 |
╔ 2554 201 |
╩ 2569 202 |
╦ 2566 203 |
╠ 2560 204 |
═ 2550 205 |
╬ 256C 206 |
¤ 00A4 207 |
D_ |
ð 00F0 208 |
Ð 00D0 209 |
Ê 00CA 210 |
Ë 00CB 211 |
È 00C8 212 |
€ 20AC 213 |
Í 00CD 214 |
Î 00CE 215 |
Ï 00CF 216 |
┘ 2518 217 |
┌ 250C 218 |
█ 2588 219 |
▄ 2584 220 |
¦ 00A6 221 |
Ì 00CC 222 |
▀ 2580 223 |
E_ |
Ó 00D3 224 |
ß 00DF 225 |
Ô 00D4 226 |
Ò 00D2 227 |
õ 00F5 228 |
Õ 00D5 229 |
µ 00B5 230 |
þ 00FE 231 |
Þ 00DE 232 |
Ú 00DA 233 |
Û 00DB 234 |
Ù 00D9 235 |
ý 00FD 236 |
Ý 00DD 237 |
¯ 00AF 238 |
´ 00B4 239 |
F_ |
SHY 00AD 240 |
± 00B1 241 |
‗ 2017 242 |
¾ 00BE 243 |
¶ 00B6 244 |
§ 00A7 245 |
÷ 00F7 246 |
¸ 00B8 247 |
° 00B0 248 |
¨ 00A8 249 |
· 00B7 250 |
¹ 00B9 251 |
³ 00B3 252 |
² 00B2 253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
Notes
- ↑ The reason for this might have been down to existing restrictions in the implementation of the codepage switching logic under MS-DOS/PC DOS, which limited .CPI files to 64 KB in size or about six codepages maximum, a limitation, which was circumvented in some OEM versions of MS-DOS, in Windows NT, and also does not exist in DR-DOS. Further, the parser in MS-DOS/PC DOS limits the number of possible country / codepage entries in COUNTRY.SYS files to a maximum of 146 or 438, a limitation non-existent in DR-DOS. So, adding support for codepage 858 might have meant to drop another (e.g. codepage 850) at the same time, which might not have been a viable solution at that time, given that some applications were hard-wired to use codepage 850.
References
- 1 2 "00858". Code pages by CPGID. IBM. Retrieved 20 Nov 2011.
- 1 2 "OEM 858". Go Global Developer Center. Microsoft. Retrieved 23 Nov 2011.
- ↑ Paul, Matthias (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification based on fd-dev post ). Retrieved 2013-05-08.
The new official ID for the Multilingual "codepage 850 with EURO SIGN" is 858, not 850. IBM will switch to use 858 instead of their 850 variant with future issues of their products. [...] I can only guess why they didn't add 858 to their EGAx.CPI, COUNTRY.SYS, and KEYBOARD.SYS files in PC DOS 2000. Many third-party applications are designed to work with 850 and didn't know about 858 at the time PC DOS 2000 was released, so it's easier for everyone, but unfortunately it's not compatible. [...] As explained above, COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country, in theory there is no limit below the range of allowed codepages 1..65534). [...] The problem is that removing support for 850 might have caused compatibility problems with applications which are hard-wired to use 850. Adding 858 as a third choice to all the files would have increased the file and table sizes significantly. The COUNTRY.SYS file parser in MS-DOS/PC DOS IO.SYS/IBMBIO.COM sets aside a 6 Kb (for DOS 6) scratchpad to load all the info. This allows a maximum of 438 entries in a COUNTRY.SYS file to be accepted, otherwise you will get the message "COUNTRY.SYS too large.". The NLSFUNC parser does not have this limitation, and the file parsers in DR-DOS (kernel and NLSFUNC) also do not know of such a restriction. Older issues of MS-DOS/PC DOS even had a 2 Kb buffer for a maximum of 146 entries.
- ↑ Paul, Matthias (2001-08-27). "Changing codepages in FreeDOS (follow-up)". Retrieved 2013-05-08.
[...] one could also create custom .CPI files in the traditional FONT style without difficulties, but you could only store up to a six codepages in such a file if it should be useable by MS-DOS/PC DOS (some OEM issues and NT can handle files larger than 64 Kb, but MS-DOS/PC DOS can not).
- ↑ Starikov, Yuri (2005-04-11). "15-летию Russian MS-DOS 4.01 посвящается" [15 Years of Russian MS-DOS 4.01] (in Russian). Retrieved 2014-05-07.
|