Jump to content

Code page 850

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Materialscientist (talk | contribs) at 17:52, 30 September 2020 (Reverted edits by 2804:214:81AF:2DE:1:2:1782:5A19 (talk) (HG) (3.4.10)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Code page 850
Code page 850 character set with 9×14 glyphs, as usually rendered by Video Graphics Array (VGA)
MIME / IANAIBM850
Alias(es)cp850, 850, csPC850Multilingual,[1] DOS Latin 1, OEM 850
Language(s)English, various others
ClassificationExtended ASCII, OEM code page
ExtendsUS-ASCII
Based onOEM-US
Transforms / EncodesISO/IEC 8859-1 (reordered)
Other related encoding(s)Code page 858 (PC DOS 2000's "modified code page 850")

Code page 850 (CCSID 850) (also known as CP 850, IBM 00850,[2] OEM 850,[3] DOS Latin 1[4]) is a code page used under DOS and Psion’s EPOC16 operating systems in Western Europe.[5] Depending on the country setting and system configuration, code page 850 is the primary code page and default OEM code page in many countries, including various English-speaking locales (e.g. in the United Kingdom, Ireland, and Canada), whilst other English-speaking locales (like the United States) default to use the hardware code page 437.[6]

Code page 850 differs from code page 437 in that many of the box drawing characters, Greek letters, and various symbols were replaced with additional Latin letters with diacritics, thus greatly improving support for Western European languages (all characters from ISO 8859-1 are included). At the same time, the changes frequently caused display glitches with programs that made use of the box-drawing characters to display a GUI-like surface in text mode.

In 1998, code page 858 was derived from this code page by changing code point 213 (D5hex) from a dotless i ‹ı› to the euro sign ‹€›.[7] Despite this, IBM's PC DOS 2000, released in 1998, changed their definition of code page 850 to what they called modified code page 850 now including the euro sign at code point 213 instead of adding support for the new code page 858.[nb 1][8][9][10]

Systems largely replaced code page 850 with Windows-1252 which contains all same letters, and later with Unicode.[nb 2]

Character set

Each character appears with its equivalent Unicode 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 code page 437.

Code page 850[3][11][12][13][14]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
8_
128
Template:Chset-color-letter|Ç
00C7
Template:Chset-color-letter|ü
00FC
Template:Chset-color-letter|é
00E9
Template:Chset-color-letter|â
00E2
Template:Chset-color-letter|ä
00E4
Template:Chset-color-letter|à
00E0
Template:Chset-color-letter|å
00E5
Template:Chset-color-letter|ç
00E7
Template:Chset-color-letter|ê
00EA
Template:Chset-color-letter|ë
00EB
Template:Chset-color-letter|è
00E8
Template:Chset-color-letter|ï
00EF
Template:Chset-color-letter|î
00EE
Template:Chset-color-letter|ì
00EC
Template:Chset-color-letter|Ä
00C4
Template:Chset-color-letter|Å
00C5
9_
144
Template:Chset-color-letter|É
00C9
Template:Chset-color-letter|æ
00E6
Template:Chset-color-letter|Æ
00C6
Template:Chset-color-letter|ô
00F4
Template:Chset-color-letter|ö
00F6
Template:Chset-color-letter|ò
00F2
Template:Chset-color-letter|û
00FB
Template:Chset-color-letter|ù
00F9
Template:Chset-color-letter|ÿ
00FF
Template:Chset-color-letter|Ö
00D6
Template:Chset-color-letter|Ü
00DC
Template:Chset-color-letter-box|ø
00F8
Template:Chset-color-graph|£
00A3
Template:Chset-color-letter-box|Ø
00D8
Template:Chset-color-graph-box|×
00D7
Template:Chset-color-letter|ƒ
0192
A_
160
Template:Chset-color-letter|á
00E1
Template:Chset-color-letter|í
00ED
Template:Chset-color-letter|ó
00F3
Template:Chset-color-letter|ú
00FA
Template:Chset-color-letter|ñ
00F1
Template:Chset-color-letter|Ñ
00D1
Template:Chset-color-letter|ª
00AA
Template:Chset-color-letter|º
00BA
Template:Chset-color-punct|¿
00BF
Template:Chset-color-graph-box|®
00AE
Template:Chset-color-graph|¬
00AC
Template:Chset-color-digit|½
00BD
Template:Chset-color-digit|¼
00BC
Template:Chset-color-punct|¡
00A1
Template:Chset-color-punct|«
00AB
Template:Chset-color-punct|»
00BB
B_
176
Template:Chset-color-graph|
2591
Template:Chset-color-graph|
2592
Template:Chset-color-graph|
2593
Template:Chset-color-graph|
2502
Template:Chset-color-graph|
2524
Template:Chset-color-letter-box|Á
00C1
Template:Chset-color-letter-box|Â
00C2
Template:Chset-color-letter-box|À
00C0
Template:Chset-color-graph-box|©
00A9
Template:Chset-color-graph|
2563
Template:Chset-color-graph|
2551
Template:Chset-color-graph|
2557
Template:Chset-color-graph|
255D
Template:Chset-color-graph-box|¢
00A2
Template:Chset-color-graph-box|¥
00A5
Template:Chset-color-graph|
2510
C_
192
Template:Chset-color-graph|
2514
Template:Chset-color-graph|
2534
Template:Chset-color-graph|
252C
Template:Chset-color-graph|
251C
Template:Chset-color-graph|
2500
Template:Chset-color-graph|
253C
Template:Chset-color-letter-box|ã
00E3
Template:Chset-color-letter-box|Ã
00C3
Template:Chset-color-graph|
255A
Template:Chset-color-graph|
2554
Template:Chset-color-graph|
2569
Template:Chset-color-graph|
2566
Template:Chset-color-graph|
2560
Template:Chset-color-graph|
2550
Template:Chset-color-graph|
256C
Template:Chset-color-graph-box|¤
00A4
D_
208
Template:Chset-color-letter-box|ð
00F0
Template:Chset-color-letter-box|Ð
00D0
Template:Chset-color-letter-box|Ê
00CA
Template:Chset-color-letter-box|Ë
00CB
Template:Chset-color-letter-box|È
00C8
Template:Chset-color-letter-box|ı
0131
Template:Chset-color-letter-box|Í
00CD
Template:Chset-color-letter-box|Î
00CE
Template:Chset-color-letter-box|Ï
00CF
Template:Chset-color-graph|
2518
Template:Chset-color-graph|
250C
Template:Chset-color-graph|
2588
Template:Chset-color-graph|
2584
Template:Chset-color-graph-box|¦
00A6
Template:Chset-color-letter-box|Ì
00CC
Template:Chset-color-graph|
2580
E_
224
Template:Chset-color-letter-box|Ó
00D3
Template:Chset-color-letter|ß
00DF
Template:Chset-color-letter-box|Ô
00D4
Template:Chset-color-letter-box|Ò
00D2
Template:Chset-color-letter-box|õ
00F5
Template:Chset-color-letter-box|Õ
00D5
Template:Chset-color-letter|µ
00B5
Template:Chset-color-letter-box|þ
00FE
Template:Chset-color-letter-box|Þ
00DE
Template:Chset-color-letter-box|Ú
00DA
Template:Chset-color-letter-box|Û
00DB
Template:Chset-color-letter-box|Ù
00D9
Template:Chset-color-letter-box|ý
00FD
Template:Chset-color-letter-box|Ý
00DD
Template:Chset-color-graph-box|¯
00AF
Template:Chset-color-graph-box|´
00B4
F_
240
Template:Chset-color-ctrl-box|SHY
00AD
Template:Chset-color-graph|±
00B1
Template:Chset-color-punct-box|
2017
Template:Chset-color-digit-box|¾
00BE
Template:Chset-color-punct-box|
00B6
Template:Chset-color-punct-box|§
00A7
Template:Chset-color-graph|÷
00F7
Template:Chset-color-graph-box|¸
00B8
Template:Chset-color-graph|°
00B0
Template:Chset-color-graph-box|¨
00A8
Template:Chset-color-punct|·
00B7
Template:Chset-color-digit-box|¹
00B9
Template:Chset-color-digit-box|³
00B3
Template:Chset-color-digit|²
00B2
Template:Chset-color-graph|
25A0
Template:Chset-color-misc|NBSP
00A0

  Letter  Number  Punctuation  Symbol  Other  Undefined  Differences from code page 437

See also

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.
  2. ^ The Windows NT line was natively Unicode from the start, but issues of development tool support and compatibility with Windows 9x kept most applications on the 8-bit code pages.

References

  1. ^ Character Sets, Internet Assigned Numbers Authority (IANA), 2018-12-12
  2. ^ "00850" (PDF). Code pages by CPGID. IBM. Archived (PDF) from the original on 2012-09-23. Retrieved 2020-02-24.
  3. ^ a b "OEM 850". Go Global Developer Center. Microsoft. Archived from the original on 2016-06-06. Retrieved 2016-06-06.
  4. ^ "Code Page 850 MS-DOS Latin 1". Developing International Software. Microsoft. Archived from the original on 2016-06-06. Retrieved 2016-06-06.
  5. ^ "CCSID 850 information document". Archived from the original on 2016-03-27.
  6. ^ Paul, Matthias R. (1997-07-30). "II.16.iii. Landessprachliche Unterstützung - Landescodes und Keyboard-Kürzel" [II.16.iii. National language support - Country codes and keyboard layout IDs]. NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds [NWDOSTIPs — Tips & tricks for Novell DOS 7, with special focus on undocumented details, bugs and workarounds]. Release 157 (in German) (3 ed.). Archived from the original on 2016-06-06. Retrieved 2016-06-06. {{cite book}}: |work= ignored (help) (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.)
  7. ^ "00858". Code pages by CPGID. IBM. Archived from the original on 2016-06-06. Retrieved 2016-06-06.
  8. ^ Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification based on fd-dev post [1]). Archived from the original on 2016-06-06. Retrieved 2016-06-06. 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)
  9. ^ Paul, Matthias R. (2001-08-27). "Changing codepages in FreeDOS (follow-up)". Archived from the original on 2014-10-01. 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).
  10. ^ 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-06-06. Retrieved 2014-05-07.
  11. ^ "cp850_DOSLatin1 to Unicode table" (TXT). The Unicode Consortium. Archived from the original on 2016-06-06. Retrieved 2016-06-06.
  12. ^ Code Page CPGID 00850 (pdf) (PDF), IBM
  13. ^ Code Page CPGID 00850 (txt), IBM
  14. ^ International Components for Unicode (ICU), ibm-850_P100-1995.ucm, 2002-12-03