Jump to content

Code page 858

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Matthiaspaul (talk | contribs) at 12:09, 18 October 2016 (→‎References: -typo). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Code page 858 (also known as CP 858, IBM 00858,[1] OEM 858[2]) is a code page used under 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][6][7] 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.

Code page 858
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
8_ Template:Chset-color-intl|Ç
00C7
128
Template:Chset-color-intl|ü
00FC
129
Template:Chset-color-intl|é
00E9
130
Template:Chset-color-intl|â
00E2
131
Template:Chset-color-intl|ä
00E4
132
Template:Chset-color-intl|à
00E0
133
Template:Chset-color-intl|å
00E5
134
Template:Chset-color-intl|ç
00E7
135
Template:Chset-color-intl|ê
00EA
136
Template:Chset-color-intl|ë
00EB
137
Template:Chset-color-intl|è
00E8
138
Template:Chset-color-intl|ï
00EF
139
Template:Chset-color-intl|î
00EE
140
Template:Chset-color-intl|ì
00EC
141
Template:Chset-color-intl|Ä
00C4
142
Template:Chset-color-intl|Å
00C5
143
9_ Template:Chset-color-intl|É
00C9
144
Template:Chset-color-intl|æ
00E6
145
Template:Chset-color-intl|Æ
00C6
146
Template:Chset-color-intl|ô
00F4
147
Template:Chset-color-intl|ö
00F6
148
Template:Chset-color-intl|ò
00F2
149
Template:Chset-color-intl|û
00FB
150
Template:Chset-color-intl|ù
00F9
151
Template:Chset-color-intl|ÿ
00FF
152
Template:Chset-color-intl|Ö
00D6
153
Template:Chset-color-intl|Ü
00DC
154
Template:Chset-color-intl|ø
00F8
155
Template:Chset-color-ext-punct|£
00A3
156
Template:Chset-color-intl|Ø
00D8
157
Template:Chset-color-ext-punct|×
00D7
158
Template:Chset-color-intl|ƒ
0192
159
A_ Template:Chset-color-intl|á
00E1
160
Template:Chset-color-intl|í
00ED
161
Template:Chset-color-intl|ó
00F3
162
Template:Chset-color-intl|ú
00FA
163
Template:Chset-color-intl|ñ
00F1
164
Template:Chset-color-intl|Ñ
00D1
165
Template:Chset-color-ext-punct|ª
00AA
166
Template:Chset-color-ext-punct|º
00BA
167
Template:Chset-color-ext-punct|¿
00BF
168
Template:Chset-color-ext-punct|®
00AE
169
Template:Chset-color-ext-punct|¬
00AC
170
Template:Chset-color-ext-punct|½
00BD
171
Template:Chset-color-ext-punct|¼
00BC
172
Template:Chset-color-ext-punct|¡
00A1
173
Template:Chset-color-ext-punct|«
00AB
174
Template:Chset-color-ext-punct|»
00BB
175
B_ Template:Chset-color-graph|
2591
176
Template:Chset-color-graph|
2592
177
Template:Chset-color-graph|
2593
178
Template:Chset-color-graph|
2502
179
Template:Chset-color-graph|
2524
180
Template:Chset-color-intl|Á
00C1
181
Template:Chset-color-intl|Â
00C2
182
Template:Chset-color-intl|À
00C0
183
Template:Chset-color-ext-punct|©
00A9
184
Template:Chset-color-graph|
2563
185
Template:Chset-color-graph|
2551
186
Template:Chset-color-graph|
2557
187
Template:Chset-color-graph|
255D
188
Template:Chset-color-ext-punct|¢
00A2
189
Template:Chset-color-ext-punct|¥
00A5
190
Template:Chset-color-graph|
2510
191
C_ Template:Chset-color-graph|
2514
192
Template:Chset-color-graph|
2534
193
Template:Chset-color-graph|
252C
194
Template:Chset-color-graph|
251C
195
Template:Chset-color-graph|
2500
196
Template:Chset-color-graph|
253C
197
Template:Chset-color-intl|ã
00E3
198
Template:Chset-color-intl|Ã
00C3
199
Template:Chset-color-graph|
255A
200
Template:Chset-color-graph|
2554
201
Template:Chset-color-graph|
2569
202
Template:Chset-color-graph|
2566
203
Template:Chset-color-graph|
2560
204
Template:Chset-color-graph|
2550
205
Template:Chset-color-graph|
256C
206
Template:Chset-color-ext-punct|¤
00A4
207
D_ Template:Chset-color-intl|ð
00F0
208
Template:Chset-color-intl|Ð
00D0
209
Template:Chset-color-intl|Ê
00CA
210
Template:Chset-color-intl|Ë
00CB
211
Template:Chset-color-intl|È
00C8
212
Template:Chset-color-ext-punct|
20AC
213
Template:Chset-color-intl|Í
00CD
214
Template:Chset-color-intl|Î
00CE
215
Template:Chset-color-intl|Ï
00CF
216
Template:Chset-color-graph|
2518
217
Template:Chset-color-graph|
250C
218
Template:Chset-color-graph|
2588
219
Template:Chset-color-graph|
2584
220
Template:Chset-color-ext-punct|¦
00A6
221
Template:Chset-color-intl|Ì
00CC
222
Template:Chset-color-graph|
2580
223
E_ Template:Chset-color-intl|Ó
00D3
224
Template:Chset-color-intl|ß
00DF
225
Template:Chset-color-intl|Ô
00D4
226
Template:Chset-color-intl|Ò
00D2
227
Template:Chset-color-intl|õ
00F5
228
Template:Chset-color-intl|Õ
00D5
229
Template:Chset-color-intl|µ
00B5
230
Template:Chset-color-intl|þ
00FE
231
Template:Chset-color-intl|Þ
00DE
232
Template:Chset-color-intl|Ú
00DA
233
Template:Chset-color-intl|Û
00DB
234
Template:Chset-color-intl|Ù
00D9
235
Template:Chset-color-intl|ý
00FD
236
Template:Chset-color-intl|Ý
00DD
237
Template:Chset-color-ext-punct|¯
00AF
238
Template:Chset-color-ext-punct|´
00B4
239
F_ Template:Chset-color-ext-punct|SHY
00AD
240
Template:Chset-color-ext-punct|±
00B1
241
Template:Chset-color-ext-punct|
2017
242
Template:Chset-color-ext-punct|¾
00BE
243
Template:Chset-color-ext-punct|
00B6
244
Template:Chset-color-ext-punct|§
00A7
245
Template:Chset-color-ext-punct|÷
00F7
246
Template:Chset-color-ext-punct|¸
00B8
247
Template:Chset-color-ext-punct|°
00B0
248
Template:Chset-color-ext-punct|¨
00A8
249
Template:Chset-color-ext-punct|·
00B7
250
Template:Chset-color-ext-punct|¹
00B9
251
Template:Chset-color-ext-punct|³
00B3
252
Template:Chset-color-ext-punct|²
00B2
253
Template:Chset-color-graph|
25A0
254
Template:Chset-color-ext-punct|NBSP
00A0
255
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

Notes

  1. ^ 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. ^ a b "00858". Code pages by CPGID. IBM. Archived from the original on 2016-08-20. Retrieved 2011-11-20. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  2. ^ a b "OEM 858". Go Global Developer Center. Microsoft. Retrieved 2011-11-23.
  3. ^ Paul, Matthias (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification based on fd-dev post [1]). Archived from the original on 2016-08-20. 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. {{cite web}}: External link in |type= (help); Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  4. ^ Paul, Matthias (2001-06-10) [1995]. "DOS COUNTRY.SYS file format" (COUNTRY.LST file) (1.44 ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  5. ^ Starikov, Yuri (2005-04-11). "15-летию Russian MS-DOS 4.01 посвящается" [15 Years of Russian MS-DOS 4.01] (in Russian). Archived from the original on 2016-08-20. Retrieved 2014-05-07. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)
  6. ^ 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 […] 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).
  7. ^ Paul, Matthias (2001-06-10) [1995]. "Format description of DOS, OS/2, and Windows NT .CPI, and Linux .CP files" (CPI.LST file) (1.30 ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20. {{cite web}}: Unknown parameter |dead-url= ignored (|url-status= suggested) (help)