Code page

Last updated

In computing, a code page is a character encoding and as such it is a specific association of a set of printable characters and control characters with unique numbers. Typically each number represents the binary value in a single byte. (In some contexts these terms are used more precisely; see Character encoding § Terminology.)

Contents

The term "code page" originated from IBM's EBCDIC-based mainframe systems, [1] but Microsoft, SAP, [2] and Oracle Corporation [3] are among the vendors that use this term. The majority of vendors identify their own character sets by a name. In the case when there is a plethora of character sets (like in IBM), identifying character sets through a number is a convenient way to distinguish them. Originally, the code page numbers referred to the page numbers in the IBM standard character set manual, [4] [5] [6] a condition which has not held for a long time. Vendors that use a code page system allocate their own code page number to a character encoding, even if it is better known by another name; for example, UTF-8 has been assigned page numbers 1208 at IBM, 65001 at Microsoft, and 4110 at SAP.

Hewlett-Packard uses a similar concept in its HP-UX operating system and its Printer Command Language [7] (PCL) protocol for printers (either for HP printers or not). The terminology, however, is different: What others call a character set, HP calls a symbol set, and what IBM or Microsoft call a code page, HP calls a symbol set code. HP developed a series of symbol sets, [8] [9] each with an associated symbol set code, to encode both its own character sets and other vendors’ character sets.

The multitude of character sets leads many vendors to recommend Unicode.

The code page numbering system

IBM introduced the concept of systematically assigning a small, but globally unique, 16 bit number to each character encoding that a computer system or collection of computer systems might encounter. The IBM origin of the numbering scheme is reflected in the fact that the smallest (first) numbers are assigned to variations of IBM's EBCDIC encoding and slightly larger numbers refer to variations of IBM's extended ASCII encoding as used in its PC hardware.

With the release of PC DOS version 3.3 (and the near identical MS-DOS 3.3) IBM introduced the code page numbering system to regular PC users, as the code page numbers (and the phrase "code page") were used in new commands to allow the character encoding used by all parts of the OS to be set in a systematic way. [10]

IBM code page numbers (CPGIDs and CCSIDs) used for CJK encodings. Microsoft use of code page numbers for CJK encodings differs, and is noted in brackets where applicable. IBM CJK Code Page Numbers.svg
IBM code page numbers (CPGIDs and CCSIDs) used for CJK encodings. Microsoft use of code page numbers for CJK encodings differs, and is noted in brackets where applicable.

After IBM and Microsoft ceased to cooperate in the 1990s, the two companies have maintained the list of assigned code page numbers independently from each other, resulting in some conflicting assignments. At least one third-party vendor (Oracle) also has its own different list of numeric assignments. [3] IBM's current assignments are listed in their CCSID repository, while Microsoft's assignments are documented within the MSDN. [11] Additionally, a list of the names and approximate IANA (Internet Assigned Numbers Authority) abbreviations for the installed code pages on any given Windows machine can be found in the Registry on that machine (this information is used by Microsoft programs such as Internet Explorer).

Most well-known code pages, excluding those for the CJK languages and Vietnamese, fit all their code-points into eight bits and do not involve anything more than mapping each code-point to a single character; furthermore, techniques such as combining characters, complex scripts, etc., are not involved.

The text mode of standard (VGA-compatible) PC graphics hardware is built around using an 8-bit code page, though it is possible to use two at once with some color depth sacrifice, and up to eight may be stored in the display adapter for easy switching. [12] There was a selection of third-party code page fonts that could be loaded into such hardware. However, it is now commonplace for operating system vendors to provide their own character encoding and rendering systems that run in a graphics mode and bypass this hardware limitation entirely. However the system of referring to character encodings by a code page number remains applicable, as an efficient alternative to string identifiers such as those specified by the IETF and IANA for use in various protocols such as e-mail and web pages.

Relationship to ASCII

The majority of code pages in current use are supersets of ASCII, a 7-bit code representing 128 control codes and printable characters. In the distant past, 8-bit implementations of the ASCII code set the top bit to zero or used it as a parity bit in network data transmissions. When the top bit was made available for representing character data, a total of 256 characters and control codes could be represented. Most vendors (including IBM) used this extended range to encode characters used by various languages and graphical elements that allowed the imitation of primitive graphics on text-only output devices. No formal standard existed for these "extended ASCII character sets" and vendors referred to the variants as code pages, as IBM had always done for variants of EBCDIC encodings.

Relationship to Unicode

Unicode is an effort to include all characters from all currently and historically used human languages into single character enumeration (effectively one large single code page), removing the need to distinguish between different code pages when handling digitally stored text. Unicode tries to retain backwards compatibility with many legacy code pages, copying some code pages 1:1 in the design process. An explicit design goal of Unicode was to allow round-trip conversion between all common legacy code pages, although this goal has not always been achieved. Some vendors, namely IBM and Microsoft, have anachronistically assigned code page numbers to Unicode encodings. This convention allows code page numbers to be used as metadata to identify the correct decoding algorithm when encountering binary stored data.

IBM code pages

EBCDIC-based code pages

These code pages are used by IBM in its EBCDIC character sets for mainframe computers. [13]

  • 1 – USA WP, Original
  • 2 – USA
  • 3 – USA Accounting, Version A
  • 4 – USA
  • 5 – USA
  • 6 – Latin America
  • 7 – Germany F.R. / Austria
  • 8 – Germany F.R.
  • 9 – France, Belgium
  • 10 – Canada (English)
  • 11 – Canada (French)
  • 12 – Italy
  • 13 – Netherlands
  • 14 –
  • 15 – Switzerland (French)
  • 16 – Switzerland (French / German)
  • 17 – Switzerland (German)
  • 18 – Sweden / Finland
  • 19 – Sweden / Finland WP, version 2
  • 20 – Denmark/Norway
  • 21 – Brazil
  • 22 – Portugal
  • 23 – United Kingdom
  • 24 – United Kingdom
  • 25 – Japan (Latin)
  • 26 – Japan (Latin)
  • 27 – Greece (Latin)
  • 28 –
  • 29 – Iceland
  • 30 – Turkey
  • 31 – South Africa
  • 32 – Czechoslovakia (Czech / Slovak)
  • 33 – Czechoslovakia
  • 34 – Czechoslovakia
  • 35 – Romania
  • 36 – Romania
  • 37 – USA/Canada - CECP (same with euro: 1140)
  • 37-2 – The real 3279 APL codepage, as used by C/370. This is very close to 1047, except for caret and not-sign inverted. It is not officially recognized by IBM, even though SHARE has pointed out its existence. [14]
  • 38 – USA ASCII
  • 39 – United Kingdom / Israel
  • 40 – United Kingdom
  • 251 – China
  • 252 – Poland
  • 254 – Hungary
  • 256 – International #1 (superseded by 500)
  • 257 – International #2
  • 258 – International #3
  • 259 – Symbols, Set 7
  • 260 – Canadian French - 116
  • 264 – Print Train & Text processing extended
  • 273 – Germany F.R./Austria - CECP (same with euro: 1141)
  • 274 – Old Belgium Code Page
  • 275 – Brazil - CECP
  • 276 – Canada (French) - 94
  • 277 – Denmark, Norway - CECP (same with euro: 1142)
  • 278 – Finland, Sweden - CECP (same with euro: 1143)
  • 279 – French - 94 [14]
  • 280 – Italy - CECP (same with euro: 1144)
  • 281 – Japan (Latin) - CECP
  • 282 – Portugal - CECP
  • 283 – Spain - 190 [14]
  • 284 – Spain/Latin America - CECP (same with euro: 1145)
  • 285 – United Kingdom - CECP (same with euro: 1146)
  • 286 – Austria / Germany F.R. Alternate
  • 287 – Denmark / Norway Alternate
  • 288 – Finland / Sweden Alternate
  • 289 – Spain Alternate
  • 290 – Japanese (Katakana) Extended
  • 293 – APL
  • 297 – France (same with euro: 1147) [14]
  • 298 – Japan (Katakana)
  • 300 – Japan (Kanji) DBCS (For JIS X 0213)
  • 310 – Graphic Escape APL/TN
  • 320 – Hungary
  • 321 – Yugoslavia
  • 322 – Turkey
  • 330 – International #4
  • 351 – GDDM default
  • 352 – Printing and publishing option
  • 353 – BCDIC-A
  • 355 – PTTC/BCD standard option
  • 357 – PTTC/BCD H option
  • 358 – PTTC/BCD Correspondence option
  • 359 – PTTC/BCD Monocase option
  • 360 – PTTC/BCD Duocase option
  • 361 – EBCDIC Publishing International
  • 363 – Symbols, set 8
  • 382 – EBCDIC Publishing Austria, Germany F.R. Alternate
  • 383 – EBCDIC Publishing Belgium
  • 384 – EBCDIC Publishing Brazil
  • 385 – EBCDIC Publishing Canada (French)
  • 386 – EBCDIC Publishing Denmark, Norway
  • 387 – EBCDIC Publishing Finland, Sweden
  • 388 – EBCDIC Publishing France
  • 389 – EBCDIC Publishing Italy
  • 390 – EBCDIC Publishing Japan (Latin)
  • 391 – EBCDIC Publishing Portugal
  • 392 – EBCDIC Publishing Spain, Philippines
  • 393 – EBCDIC Publishing Latin America (Spanish Speaking)
  • 394 – EBCDIC Publishing China (Hong Kong), UK, Ireland
  • 395 – EBCDIC Publishing Australia, New Zealand, USA, Canada (English)
  • 410 – Cyrillic (revisions: 880, 1025, 1154)
  • 420 – Arabic
  • 421 – Maghreb/French
  • 423 – Greek (superseded by 875)
  • 424 – Hebrew (Bulletin Code)
  • 425 – Arabic / Latin for OS/390 Open Edition
  • 435 – Teletext Isomorphic
  • 500 – International #5 (ECECP; supersedes 256) (same with euro: 1148)
  • 803 – Hebrew Character Set A (Old Code)
  • 829 – Host Math Symbols- Publishing
  • 833 – Korean Extended (SBCS)
  • 834 – Korean Hangul (KSC5601; DBCS with UDCs)
  • 835 – Traditional Chinese DBCS
  • 836 – Simplified Chinese Extended
  • 837 – Simplified Chinese DBCS
  • 838 – Thai with Low Marks & Accented Characters (same with euro: 1160)
  • 839 – Thai DBCS
  • 870 – Latin 2 (same with euro: 1153) (revision: 1110)
  • 871 – Iceland (same with euro: 1149) [14]
  • 875 – Greek (supersedes 423)
  • 880 – Cyrillic (revision of 410) (revisions: 1025, 1154)
  • 881 – United States - 5080 Graphics System
  • 882 – United Kingdom - 5080 Graphics System
  • 883 – Sweden - 5080 Graphics System
  • 884 – Germany - 5080 Graphics System
  • 885 – France - 5080 Graphics System
  • 886 – Italy - 5080 Graphics System
  • 887 – Japan - 5080 Graphics System
  • 888 – France AZERTY - 5080 Graphics System
  • 889 – Thailand
  • 890 – Yugoslavia
  • 892 – EBCDIC, OCR A
  • 893 – EBCDIC, OCR B
  • 905 – Latin 3
  • 918 – Urdu Bilingual
  • 924 – Latin 9
  • 930 – Japan MIX (290 + 300) (same with euro: 1390)
  • 931 – Japan MIX (37 + 300)
  • 933 – Korea MIX (833 + 834) (same with euro: 1364)
  • 935 – Simplified Chinese MIX (836 + 837) (same with euro: 1388)
  • 937 – Traditional Chinese MIX (37 + 835) (same with euro: 1371)
  • 939 – Japan MIX (1027 + 300) (same with euro: 1399)
  • 1001 – MICR
  • 1002 – EBCDIC DCF Release 2 Compatibility
  • 1003 – EBCDIC DCF, US Text subset
  • 1005 – EBCDIC Isomorphic Text Communication
  • 1007 – EBCDIC Arabic (XCOM2)
  • 1024 – EBCDIC T.61
  • 1025 – Cyrillic, Multilingual (same with euro: 1154) (Revision of 880)
  • 1026 – EBCDIC Turkey (Latin 5) (same with euro: 1155) (supersedes 905 in that country)
  • 1027 – Japanese (Latin) Extended (JIS X 0201 Extended)
  • 1028 – EBCDIC Publishing Hebrew
  • 1030 – Japanese (Katakana) Extended
  • 1031 – Japanese (Latin) Extended
  • 1032 – MICR, E13-B Combined
  • 1033 – MICR, CMC-7 Combined
  • 1037 – Korea - 5080/6090 Graphics System
  • 1039 – GML Compatibility
  • 1047 – Latin 1/Open Systems [14]
  • 1068 – DCF Compatibility
  • 1069 – Latin 4
  • 1070 – USA / Canada Version 0 (Code page 37 Version 0)
  • 1071 – Germany F.R. / Austria (Code page 273 Version 0)
  • 1072 – Belgium (Code page 274 Version 0)
  • 1073 – Brazil (Code page 275 Version 0)
  • 1074 – Denmark, Norway (Code page 277 Version 0)
  • 1075 – Finland, Sweden (Code page 278 Version 0)
  • 1076 – Italy (Code page 280 Version 0)
  • 1077 – Japan (Latin) (Code page 281 Version 0)
  • 1078 – Portugal (Code page 282 Version 0)
  • 1079 – Spain / Latin America Version 0 (Code page 284 Version 0)
  • 1080 – United Kingdom (Code page 285 Version 0)
  • 1081 – France Version 0 (Code page 297 Version 0)
  • 1082 – Israel (Hebrew)
  • 1083 – Israel (Hebrew)
  • 1084 – International#5 Version 0 (Code page 500 Version 0)
  • 1085 – Iceland (Code page 871 Version 0)
  • 1087 – Symbol Set
  • 1091 – Modified Symbols, Set 7
  • 1093 – IBM Logo [15]
  • 1097 – Farsi Bilingual
  • 1110 – Latin 2 (Revision of 870)
  • 1112 – Baltic Multilingual (same with euro: 1156)
  • 1113 – Latin 6
  • 1122 – Estonia (same with euro: 1157)
  • 1123 – Cyrillic, Ukraine (same with euro: 1158)
  • 1130 – Vietnamese (same with euro: 1164)
  • 1132 – Lao EBCDIC
  • 1136 – Hitachi Katakana
  • 1137 – Devanagari EBCDIC
  • 1140 – USA, Canada, etc. ECECP (same without euro: 37) (Traditional Chinese version: 1159)
  • 1141 – Austria, Germany ECECP (same without euro: 273)
  • 1142 – Denmark, Norway ECECP (same without euro: 277)
  • 1143 – Finland, Sweden ECECP (same without euro: 278)
  • 1144 – Italy ECECP (same without euro: 280)
  • 1145 – Spain, Latin America (Spanish) ECECP (same without euro: 284)
  • 1146 – UK ECECP (same without euro: 285)
  • 1147 – France ECECP with euro (same without euro: 297)
  • 1148 – International ECECP with euro (same without euro: 500)
  • 1149 – Icelandic ECECP with euro (same without euro: 871)
  • 1150 – Korean Extended with box characters
  • 1151 – Simplified Chinese Extended with box characters
  • 1152 – Traditional Chinese Extended with box characters
  • 1153 – Latin 2 Multilingual with euro (same without euro: 870)
  • 1154 – Cyrillic, Multilingual with euro (same without euro: 1025; an older version is * 1166)
  • 1155 – Turkey with euro (same without euro: 1026)
  • 1156 – Baltic Multi with euro (same without euro: 1112)
  • 1157 – Estonia with euro (same without euro: 1122)
  • 1158 – Cyrillic, Ukraine with euro (same without euro: 1123)
  • 1159 – T-Chinese EBCDIC (Traditional Chinese euro update of * 1140)
  • 1160 – Thai with Low Marks & Accented Characters with euro (same without euro: 838)
  • 1164 – Vietnamese with euro (same without euro: 1130)
  • 1165 – Latin 2/Open Systems
  • 1166 – Cyrillic Kazakh
  • 1278 – EBCDIC Adobe (PostScript) Standard Encoding
  • 1279 – Hitachi Japanese Katakana Host [6]
  • 1303 – EBCDIC Bar Code
  • 1364 – Korea MIX (833 + 834 + euro) (same without euro: 933)
  • 1371 – Traditional Chinese MIX (1159 + 835) (same without euro: 937)
  • 1376 – Traditional Chinese DBCS Host extension for HKSCS
  • 1377 – Mixed Host HKSCS Growing (37 + 1376)
  • 1388 – Simplified Chinese MIX (same without euro: 935) (836 + 837 + euro)
  • 1390 – Simplified Chinese MIX Japan MIX (same without euro: 930) (290 + 300 + euro)
  • 1399 – Japan MIX (1027 + 300 + euro) (same without euro: 939)

DOS code pages

These code pages are used by IBM in its PC DOS operating system. These code pages were originally embedded directly in the text mode hardware of the graphic adapters used with the IBM PC and its clones, including the original MDA and CGA adapters whose character sets could only be changed by physically replacing a ROM chip that contained the font. The interface of those adapters (emulated by all later adapters such as VGA) was typically limited to single byte character sets with only 256 characters in each font/encoding (although VGA added partial support for slightly larger character sets).

  • 301 – IBM-PC Japan (Kanji) DBCS
  • 437 – Original IBM PC hardware code page
  • 720 – Arabic (Transparent ASMO)
  • 737Greek
  • 775 – Latin-7
  • 808 – Russian with euro (same without euro: 866)
  • 848 – Ukrainian with euro (same without euro: 1125)
  • 849 – Belarusian with euro (same without euro: 1131)
  • 850 – Latin-1
  • 851 – Greek
  • 852 – Latin-2
  • 853 – Latin-3
  • 855Cyrillic (same with euro: 872)
  • 856Hebrew
  • 857 – Latin-5
  • 858 – Latin-1 with euro symbol
  • 859 – Latin-9
  • 860Portuguese
  • 861Icelandic
  • 862Hebrew
  • 863Canadian French
  • 864Arabic
  • 865Danish/Norwegian
  • 866 – Belarusian, Russian, Ukrainian (same with euro: 808)
  • 867Hebrew + euro (based on CP862) (conflictive ID: NEC Czech (Kamenický), which was created before this codepage)
  • 868Urdu
  • 869Greek
  • 872 – Cyrillic with euro (same without euro: 855)
  • 874 – Thai with Low Tone Marks & Ancient Chars (conflictive ID with Windows 874; version with euro: 1161 Windows version: is IBM 1162)
  • 876 – OCR A
  • 877 – OCR B
  • 878KOI8-R
  • 891 – Korean PC SBCS
  • 898 – IBM-PC WP Multilingual
  • 899 – IBM-PC Symbol
  • 903 – Simplified Chinese PC SBCS
  • 904 – Traditional Chinese PC SBCS
  • 906 – International Set #5 3812/3820
  • 907 – ASCII APL (3812)
  • 909 – IBM-PC APL2 Extended
  • 910 – IBM-PC APL2
  • 911 – IBM-PC Japan #1
  • 926 – Korean PC DBCS
  • 927 – Traditional Chinese PC DBCS
  • 928 – Simplified Chinese PC DBCS
  • 929 – Thai PC DBCS
  • 932 – IBM-PC Japan MIX (DOS/V) (DBCS) (897 + 301) (conflictive ID with Windows 932; Windows version is IBM 943)
  • 934 – IBM-PC Korea MIX (DOS/V) (DBCS) (891 + 926)
  • 936 – IBM-PC Simplified Chinese MIX (gb2312) (DOS/V) (DBCS) (903 + 928) (conflictive ID with Windows 936; Windows version is IBM 1386)
  • 938 – IBM-PC Traditional Chinese MIX (DOS/V, OS/2) (904 + 927)
  • 942 – IBM-PC Japan MIX (Japanese SAA (OS/2)) (1041 + 301)
  • 943 – IBM-PC Japan OPEN (897 + 941) (Windows CP 932)
  • 944 – IBM-PC Korea MIX (Korean SAA (OS/2)) (1040 + 926)
  • 946 – IBM-PC Simplified Chinese (Simplified Chinese SAA (OS/2)) (1042 + 928)
  • 948 – IBM-PC Traditional Chinese (Traditional Chinese SAA (OS/2)) (1043 + 927)
  • 949 – Korean (Extended Wansung (ks_c_5601-1987)) (1088 + 951) (conflictive ID with Windows 949 (Unified Hangul Code); Windows version is IBM 1363)
  • 951 – Korean DBCS (IBM KS Code) (conflictive ID with Windows 951, a hack of Windows 950 with Unicode mappings for some PUA Unicode characters found in HKSCS, based on the file name)
  • 1034 – Printer Application - Shipping Label, Set #2
  • 1040 – Korean Extended
  • 1041 – Japanese Extended (JIS X 0201 Extended)
  • 1042 – Simplified Chinese Extended
  • 1043 – Traditional Chinese Extended
  • 1044 – Printer Application - Shipping Label, Set #1
  • 1086 – IBM-PC Japan #1
  • 1088 – Revised Korean (SBCS)
  • 1092 – IBM-PC Modified Symbols
  • 1098Farsi
  • 1108 – DITROFF Base Compatibility
  • 1109 – DITROFF Specials Compatibility
  • 1115 – IBM-PC People's Republic of China
  • 1116 – Estonian
  • 1117 – Latvian
  • 1118 – Lithuanian (IBM's implementation of Lika's code page 774)
  • 1119 – Lithuanian and Russian (IBM's implementation of Lika's code page 772)
  • 1125 – Cyrillic, Ukrainian (same with euro: 848) (IBM modification of RUSCII)
  • 1127 – IBM-PC Arabic / French
  • 1131 – IBM-PC Data, Cyrillic, Belarusian (same with euro: 849)
  • 1139 – Japan Alphanumeric Katakana
  • 1161 – Thai with Low Tone Marks & Ancient Chars with euro (same without euro: 874)
  • 1167KOI8-RU
  • 1168KOI8-U
  • 1300 – ANSI [PTS-DOS 6.70, not 6.51]
  • 1370 – Traditional Chinese MIX (Big5 encoding) (1114 + 947 + euro) (same without euro: 950)
  • 1380 – IBM-PC Simplified Chinese GB PC-DATA (DBCS PC IBM GB 2312-80)
  • 1381 – IBM-PC Simplified Chinese (1115 + 1380)
  • 1393 – Japanese JIS X 0213 DBCS
  • 1394 – IBM-PC Japan (JIS X 0213) (897 + 1393)

When dealing with older hardware, protocols and file formats, it is often necessary to support these code pages, but newer encoding systems, in particular Unicode, are encouraged for new designs.

DOS code pages are typically stored in .CPI files. [16] [17] [18] [19] [20]

IBM AIX code pages

These code pages are used by IBM in its AIX operating system. They emulate several character sets, namely those ones designed to be used accordingly to ISO, such as UNIX-like operating systems.

Code page 819 is identical to Latin-1, ISO/IEC 8859-1, and with slightly-modified commands, permits MS-DOS machines to use that encoding. It was used with IBM AS/400 minicomputers.

IBM OS/2 code pages

These code pages are used by IBM in its OS/2 operating system.

Windows emulation code pages

These code pages are used by IBM when emulating the Microsoft Windows character sets. Most of these code pages have the same number as Microsoft code pages, although they are not exactly identical. Some code pages, though, are new from IBM, not devised by Microsoft.

Macintosh emulation code pages

These code pages are used by IBM when emulating the Apple Macintosh character sets.

  • 1275 – Apple Roman
  • 1280 – Apple Greek
  • 1281 – Apple Turkish
  • 1282 – Apple Central European
  • 1283 – Apple Cyrillic
  • 1284 – Apple Croatian
  • 1285 – Apple Romanian
  • 1286 – Apple Icelandic

Adobe emulation code pages

These code pages are used by IBM when emulating the Adobe character sets.

  • 1038 – Adobe Symbol Encoding
  • 1276 – Adobe (PostScript) Standard Encoding
  • 1277 – Adobe (PostScript) Latin 1

HP emulation code pages

These code pages are used by IBM when emulating the HP character sets.

DEC emulation code pages

These code pages are used by IBM when emulating the DEC character sets.

  • 1020 – 7-bit Canadian (French) NRC Set
  • 1021 – 7-bit Switzerland NRC Set
  • 1023 – 7-bit Spanish NRC Set
  • 1090 – Special Characters and Line Drawing Set
  • 1100 – DEC Multinational
  • 1101 – 7-bit British NRC Set
  • 1102 – 7-bit Dutch NRC Set
  • 1103 – 7-bit Finnish NRC Set
  • 1104 – 7-bit French NRC Set
  • 1105 – 7-bit Norwegian/Danish NRC Set
  • 1106 – 7-bit Swedish NRC Set
  • 1107 – 7-bit Norwegian/Danish NRC Alternate
  • 1287 – DEC Greek
  • 1288 – DEC Turkish

IBM Unicode code pages

Microsoft code pages

Windows code pages

These code pages are used by Microsoft in its own Windows operating system. Microsoft defined a number of code pages known as the ANSI code pages (as the first one, 1252 was based on an apocryphal ANSI draft of what became ISO 8859-1). Code page 1252 is built on ISO 8859-1 but uses the range 0x80-0x9F for extra printable characters rather than the C1 control codes from ISO 6429 mentioned by ISO 8859-1. [24] Some of the others are based in part on other parts of ISO 8859 but often rearranged to make them closer to 1252.

Microsoft recommends new applications use UTF-8 or UCS-2/UTF-16 instead of these code pages. [25]

DBCS code pages

These code pages represent DBCS character encodings for various CJK languages. In Microsoft operating systems, these are used as both the "OEM" and "Windows" code page for the applicable locale.

MS-DOS code pages

These code pages are used by Microsoft in its MS-DOS operating system. Microsoft refers to these as the OEM code pages because they were defined by the original equipment manufacturers who licensed MS-DOS for distribution with their hardware, not by Microsoft or a standards organization. Most of these code pages have the same number as the equivalent IBM code pages, although some are not exactly identical. [26]

Macintosh emulation code pages

These code pages are used by Microsoft when emulating the Apple Macintosh character sets.

Various other Microsoft code pages

The following code page numbers are specific to Microsoft Windows. IBM may use different numbers for these code pages. They emulate several character sets, namely those ones designed to be used accordingly to ISO,[ clarification needed ] such as UNIX-like operating systems.

Microsoft Unicode code pages

HP Symbol Sets

HP developed a series of Symbol Sets (each with its associated Symbol Set Code) to encode either its own character sets or other vendors’ character sets. They are normally 7-bit character sets which, when moved to the higher part and associated with the ASCII character set, make up 8-bit character sets.

HP own Symbol Sets

  • Symbol Set 0E — HP Roman Extension — 7-bit character set with accented letters (coded by IBM as code page 1050)
  • Symbol Set 0G — HP 7-bit German
  • Symbol Set 0L — HP 7-bit PC Line (coded by IBM as code page 1055)
  • Symbol Set 0M — HP Math-7
  • Symbol Set 0T — HP Thai-8
  • Symbol Set 1S — HP 7-bit Spanish
  • Symbol Set 1U — HP 7-bit Gothic Legal (coded by IBM as code page 1052)
  • Symbol Set 4Q — HP Line Draw (coded by IBM as code page 1056)
  • Symbol Set 4U — HP Roman-9 — Roman-8 + €
  • Symbol Set 7J — HP Desktop
  • Symbol Set 7S — HP 7-bit European Spanish
  • Symbol Set 8E — HP East-8
  • Symbol Set 8G — HP Greek-8 (based on IR 088; not on ELOT 927)
  • Symbol Set 8H — HP Hebrew-8
  • Symbol Set 8I — MS LineDraw (ASCII + HP PC Line)
  • Symbol Set 8K — HP Kana-8 (ASCII + Japanese Katakana)
  • Symbol Set 8L — HP LineDraw (ASCII + HP Line Draw)
  • Symbol Set 8M — HP Math-8 (ASCII + HP Math-8)
  • Symbol Set 8R — HP Cyrillic-8
  • Symbol Set 8S — HP 7-bit Latin American Spanish
  • Symbol Set 8T — HP Turkish-8
  • Symbol Set 8U — HP Roman-8 (ASCII + HP Roman Extension; coded by IBM as code page 1051)
  • Symbol Set 8V — HP Arabic-8
  • Symbol Set 9K — HP Korean-8
  • Symbol Set 9T — PC 8T (also known as Code Page 437-T; this is not code page 857)
  • Symbol Set 9V — Latin / Arabic for Windows (this is not code page 1256)
  • Symbol Set 11U — PC 8D/N (also known as Code Page 437-N; coded by IBM as code page 1058; this is not code page 865)
  • Symbol set 14G — PC-8 Greek Alternate (also known as Code Page 437-G; almost the same as code page 737)
  • Symbol Set 18K —
  • Symbol Set 18T —
  • Symbol Set 19C —
  • Symbol Set 19K —

Symbol Sets from other vendors

  • Symbol Set 0D — ISO 60: 7-bit Norwegian
  • Symbol Set 0F — ISO 25: 7-bit French
  • Symbol Set 0H — HP 7-bit Hebrew — Practically the same as Israeli Standard SI 960
  • Symbol Set 0I — ISO 15: 7-bit Italian
  • Symbol Set 0K — ISO 14: 7-bit Japanese Katakana
  • Symbol Set 0N — ISO 8859-1 Latin 1 (Initially called "Gothic-1"; coded by IBM as code page 1053)
  • Symbol Set 0R — ISO 8859-5 Latin/Cyrillic (1986 version — IR 111)
  • Symbol Set 0S — ISO 11: 7-bit Swedish
  • Symbol Set 0U — ISO 6: 7-bit U.S.
  • Symbol Set 0V — Arabic
  • Symbol Set 1D — ISO 61: 7-bit Norwegian
  • Symbol Set 1E — ISO 4: 7-bit U. K.
  • Symbol Set 1F — ISO 69: 7-bit French
  • Symbol Set 1G — ISO 21: 7-bit German
  • Symbol Set 1K — ISO 13: 7-bit Japanese Latin
  • Symbol Set 1T — Windows Thai (Practically the same as 874)
  • Symbol Set 2K — ISO 57: 7-bit Simplified Chinese Latin
  • Symbol Set 2N — ISO 8859-2 Latin 2
  • Symbol Set 2S — ISO 17: 7-bit Spanish
  • Symbol Set 2U — ISO 2: 7-bit International Reference Version
  • Symbol Set 3N — ISO 8859-3 Latin 3
  • Symbol Set 3R — PC-866 Russia (Practically the same as code page 866)
  • Symbol Set 3S — ISO 10: 7-bit Swedish
  • Symbol Set 4N — ISO 8859-4 Latin 4
  • Symbol Set 4S — ISO 16: 7-bit Portuguese
  • Symbol Set 5M — PS Math Symbol (Practically the same as Adobe Symbols)
  • Symbol Set 5N — ISO 8859-9 Latin 5
  • Symbol Set 5S — ISO 84: 7-bit Portuguese
  • Symbol Set 5T — Windows 3.1 Latin-5 (Practically the same as code page 1254)
  • Symbol Set 6J — Microsoft Publishing
  • Symbol Set 6M — Ventura Math
  • Symbol Set 6N — ISO 8859-10 Latin 6
  • Symbol Set 6S — ISO 85: 7-bit Spanish
  • Symbol Set 7H — ISO 8859-8 Latin/Hebrew
  • Symbol Set 9E — Windows 3.1 Latin 2 (Practically the same as code page 1250)
  • Symbol Set 9G — Windows 98 Greek (Practically the same as code page 1253)
  • Symbol Set 9J — PC 1004
  • Symbol Set 9L — Ventura ITC Zapf Dingbats
  • Symbol Set 9N — ISO 8859-15 Latin 9
  • Symbol Set 9R — Windows 98 Cyrillic (Practically the same as code page 1251)
  • Symbol Set 9U — Windows 3.0
  • Symbol Set 10G — PC-851 Latin/Greek (Practically the same as code page 851)
  • Symbol Set 10J — PS Text (Practically the same as Adobe Standard)
  • Symbol Set 10L — PS ITC Zapf Dingbats (Practically the same as Adobe Dingbats)
  • Symbol Set 10N — ISO 8859-5 Latin/Cyrillic (1988 version — IR 144)
  • Symbol Set 10R — PC-855 Cyrillic (Practically the same as code page 855)
  • Symbol Set 10T — Teletex
  • Symbol Set 10U — PC-8 (Practically the same as code page 437; coded by IBM as code page 1057)
  • Symbol Set 10V — CP-864 (Practically the same as code page 864)
  • Symbol Set 11G — CP-869 (Practically the same as code page 869)
  • Symbol Set 11J — PS ISO Latin-1 (Practically the same as Adobe Latin-1)
  • Symbol Set 11N — ISO 8859-6 Latin/Arabic
  • Symbol Set 12G — PC Latin/Greek (Practically the same as code page 737)
  • Symbol Set 12J — MC Text (Practically the same as Macintosh Roman)
  • Symbol Set 12N — ISO 8859-7 Latin/Greek
  • Symbol Set 12R — PC Gost (Practically the same as PC GOST Main)
  • Symbol Set 12U — PC-850 Latin 1 (Practically the same as code page 850)
  • Symbol Set 13J — Ventura International
  • Symbol Set 13R — PC Bulgarian (Practically the same as MIK)
  • Symbol Set 13U — PC-858 Latin 1 + € (Practically the same as code page 858)
  • Symbol Set 14J — Ventura U. S.
  • Symbol Set 14L — Windows Dingbats
  • Symbol Set 14P — ABICOMP International (Practically the same as ABICOMP)
  • Symbol Set 14R — PC Ukrainian (Practically the same as RUSCII)
  • Symbol Set 15H — PC-862 Israel (Practically the same as code page 862)
  • Symbol Set 16U — PC-857 Latin 5 (Practically the same as code page 857)
  • Symbol Set 17U — PC-852 Latin 2 (Practically the same as code page 852)
  • Symbol Set 18N — UTF-8
  • Symbol Set 18U — PC-853 Latin 3 (Practically the same as code page 853)
  • Symbol Set 19L — Windows 98 Baltic (Practically the same as code page 1257)
  • Symbol Set 19M — Windows Symbol
  • Symbol Set 19U — Windows 3.1 Latin 1 (Practically the same as code page 1252)
  • Symbol Set 20U — PC-860 Portugal (Practically the same as code page 860)
  • Symbol Set 21U — PC-861 Iceland (Practically the same as code page 861)
  • Symbol Set 23U — PC-863 Canada - French (Practically the same as code page 863)
  • Symbol Set 24Q — PC-Polish Mazowia (Practically the same as Mazovia encoding)
  • Symbol Set 25U — PC-865 Denmark/Norway (Practically the same as code page 865)
  • Symbol Set 26U — PC-775 Latin 7 (Practically the same as code page 775)
  • Symbol Set 27Q — PC-8 PC Nova (Practically the same as PC Nova)
  • Symbol Set 27U — PC Latvian Russian (also known as 866-Latvian)
  • Symbol Set 28U — PC Lithuanian/Russian (Practically the same as code page 774)
  • Symbol Set 29U — PC-772 Lithuanian/Russian (Practically the same as code page 772)

Code pages from other vendors

These code pages are independent assignments by third party vendors. Since the original IBM PC code page (number 437) was not really designed for international use, several partially compatible country or region specific variants emerged.

These code pages number assignments are not official neither by IBM, neither by Microsoft and almost none of them is referred as a usable character set by IANA. The numbers assigned to these code pages are arbitrary and may clash to registered numbers in use by IBM or Microsoft. Some of them may predate codepage switching being added in DOS 3.3.

List of code page assignments

List of known code page assignments (incomplete):

IDNamesDescriptionOriginPlatformDOSOS/2WindowsMacElseEncodingComment
0N/AReservedIBM, MicrosoftN/A3.3+1.0+ ? ? ?Internal OS use [34]
437CP437, IBM437PC USIBM [46] IBM PC3.3+1.0+Yes ?Yes8-bit SBCS
57344 - 61439N/APrivate use derivationsIBMN/AN/AN/AN/AN/AN/AvariousPrivate use code page derivations (E000h-EFFFh)
65280 - 65533N/APrivate use definitionsIBMN/AN/AN/AN/AN/AN/AvariousPrivate use code page definitions (FF00h-FFFDh)
65534N/AReservedIBM, MicrosoftN/A ? ? ? ? ?variousInternal OS use (FFFEh)
65535N/AReservedIBM, MicrosoftN/A3.3+1.0+ ? ? ?variousInternal OS use (FFFFh) [34]

Criticism

Many older character encodings (unlike Unicode) suffer from several problems. Some vendors insufficiently document the meaning of all code point values in their code pages, which decreases the reliability of handling textual data consistently through various computer systems. Some vendors add proprietary extensions to established code pages, to add or change certain code point values: for example, byte 0x5C in Shift JIS can represent either a back slash or a yen sign depending on the platform. Finally, in order to support several languages in a program that does not use Unicode, the code page used for each string/document needs to be stored.

Applications may also mislabel text in Windows-1252 as ISO-8859-1. The only difference between these code pages is that the code point values in the range 0x800x9F, used by ISO-8859-1 for control characters, are instead used as additional printable characters in Windows-1252  notably for quotation marks, the euro sign and the trademark symbol among others. Browsers on non-Windows platforms would tend to show empty boxes or question marks for these characters, making the text hard to read. Most browsers fixed this by ignoring the character set and interpreting as Windows-1252 to look acceptable. In HTML5, treating ISO-8859-1 as Windows-1252 is even codified as a W3C standard. [47] Although browsers were typically programmed to deal with this behaviour, this was not always true of other software. Consequently, when receiving a file transfer from a Windows system, non-Windows platforms would either ignore these characters or treat them as a standard control characters and attempt to take the specified control action accordingly.

Due to Unicode's extensive documentation, vast repertoire of characters and stability policy of characters, the problems listed above are rarely a concern for Unicode. UTF-8 (which can encode over one million codepoints) has replaced the code-page method in terms of popularity on the Internet. [48] [49]

Private code pages

When, early in the history of personal computers, users did not find their character encoding requirements met, private or local code pages were created using terminate-and-stay-resident utilities or by re-programming BIOS EPROMs. In some cases, unofficial code page numbers were invented (e.g. CP895).

When more diverse character set support became available most of those code pages fell into disuse, with some exceptions such as the Kamenický or KEYBCS2 encoding for the Czech and Slovak alphabets. Another character set is Iran System encoding standard that was created by Iran System corporation for Persian language support. This standard was in use in Iran in DOS-based programs and after introduction of Microsoft code page 1256 this standard became obsolete. However some Windows and DOS programs using this encoding are still in use and some Windows fonts with this encoding exist.

In order to overcome such problems, the IBM Character Data Representation Architecture level 2 specifically reserves ranges of code page IDs for user-definable and private-use assignments. Whenever such code page IDs are used, the user must not assume that the same functionality and appearance can be reproduced in another system configuration or on another device or system unless the user takes care of this specifically. The code page range 57344-61439 (E000h-EFFFh) is officially reserved for user-definable code pages (or actually CCSIDs in the context of IBM CDRA), whereas the range 65280-65533 (FF00h-FFFDh) is reserved for any user-definable "private use" assignments. For example, a non-registered custom variant of code page 437 (1B5h) or 28591 (6FAF) could become 57781 (E1B5h) or 61359 (EFAFh), respectively, in order to avoid potential conflicts with other assignments and maintain the sometimes existing internal numerical logic in the assignments of the original code pages. An unregistered private code page not based on an existing code page, a device specific code page like a printer font, which just needs a logical handle to become addressable for the system, a frequently changing download font, or a code page number with a symbolic meaning in the local environment could have an assignment in the private range like 65280 (FF00h).

The code page IDs 0, 65534 (FFFEh) and 65535 (FFFFh) are reserved for internal use by operating systems such as DOS and must not be assigned to any specific code pages.

See also

Related Research Articles

<span class="mw-page-title-main">Character encoding</span> Using numbers to represent text characters

Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values that make up a character encoding are known as "code points" and collectively comprise a "code space", a "code page", or a "character map".

Extended Binary Coded Decimal Interchange Code is an eight-bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems. It descended from the code used with punched cards and the corresponding six-bit binary-coded decimal code used with most of IBM's computer peripherals of the late 1950s and early 1960s. It is supported by various non-IBM platforms, such as Fujitsu-Siemens' BS2000/OSD, OS-IV, MSP, and MSP-EX, the SDS Sigma series, Unisys VS/9, Unisys MCP and ICL VME.

<span class="mw-page-title-main">ISO/IEC 8859-1</span> Character encoding

ISO/IEC 8859-1:1998, Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. ISO/IEC 8859-1 encodes what it refers to as "Latin alphabet no. 1", consisting of 191 characters from the Latin script. This character-encoding scheme is used throughout the Americas, Western Europe, Oceania, and much of Africa. It is the basis for some popular 8-bit character sets and the first two blocks of characters in Unicode.

<span class="mw-page-title-main">Windows-1252</span> Windows character set for Latin alphabet

Windows-1252 or CP-1252 is a single-byte character encoding of the Latin alphabet that was used by default in Microsoft Windows for English and many Romance and Germanic languages including Spanish, Portuguese, French, and German. This character-encoding scheme is used throughout the Americas, Western Europe, Oceania, and much of Africa.

The yen and yuan sign (¥) is a currency sign used for the Japanese yen and the Chinese yuan currencies when writing in Latin scripts. This character resembles a capital letter Y with a single or double horizontal stroke. The symbol is usually placed before the value it represents, for example: ¥50, or JP¥50 and CN¥50 when disambiguation is needed. When writing in Japanese and Chinese, the Japanese kanji and Chinese character is written following the amount, for example 50円 in Japan, and 50元 or 50圆 in China.

ISO/IEC 8859-2:1999, Information technology — 8-bit single-byte coded graphic character sets — Part 2: Latin alphabet No. 2, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. It is informally referred to as "Latin-2". It is generally intended for Central or "Eastern European" languages that are written in the Latin script. Note that ISO/IEC 8859-2 is very different from code page 852 which is also referred to as "Latin-2" in Czech and Slovak regions. Code page 912 is an extension. Almost half the use of the encoding is for Polish, and it's the main legacy encoding for Polish, while virtually all use of it has been replaced by UTF-8.

ISO/IEC 8859-11:2001, Information technology — 8-bit single-byte coded graphic character sets — Part 11: Latin/Thai alphabet, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 2001. It is informally referred to as Latin/Thai. It is nearly identical to the national Thai standard TIS-620 (1990). The sole difference is that ISO/IEC 8859-11 allocates non-breaking space to code 0xA0, while TIS-620 leaves it undefined.

ISO/IEC 8859-8, Information technology — 8-bit single-byte coded graphic character sets — Part 8: Latin/Hebrew alphabet, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings. ISO/IEC 8859-8:1999 from 1999 represents its second and current revision, preceded by the first edition ISO/IEC 8859-8:1988 in 1988. It is informally referred to as Latin/Hebrew. ISO/IEC 8859-8 covers all the Hebrew letters, but no Hebrew vowel signs. IBM assigned code page 916 to it. This character set was also adopted by Israeli Standard SI1311:2002, with some extensions.

<span class="mw-page-title-main">Pound sign</span> Currency sign

The pound sign is the symbol for the pound unit of sterling – the currency of the United Kingdom and its associated Crown Dependencies and British Overseas Territories and previously of Great Britain and of the Kingdom of England. The same symbol is used for other currencies called pound, such as the Egyptian and Syrian pounds. The sign may be drawn with one or two bars depending on personal preference, but the Bank of England has used the one-bar style exclusively on banknotes since 1975.

ISO/IEC 8859-4:1998, Information technology — 8-bit single-byte coded graphic character sets — Part 4: Latin alphabet No. 4, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1988. It is informally referred to as Latin-4 or North European. It was designed to cover Estonian, Latvian, Lithuanian, Greenlandic, and Sámi. It has been largely superseded by ISO/IEC 8859-10 and Unicode. Microsoft has assigned code page 28594 a.k.a. Windows-28594 to ISO-8859-4 in Windows. IBM has assigned code page 914 to ISO 8859-4.

ISO/IEC 8859-6:1999, Information technology — 8-bit single-byte coded graphic character sets — Part 6: Latin/Arabic alphabet, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. It is informally referred to as Latin/Arabic. It was designed to cover Arabic. Only nominal letters are encoded, no preshaped forms of the letters, so shaping processing is required for display. It does not include the extra letters needed to write most Arabic-script languages other than Arabic itself.

ISO/IEC 8859-7:2003, Information technology — 8-bit single-byte coded graphic character sets — Part 7: Latin/Greek alphabet, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. It is informally referred to as Latin/Greek. It was designed to cover the modern Greek language. The original 1987 version of the standard had the same character assignments as the Greek national standard ELOT 928, published in 1986. The table in this article shows the updated 2003 version which adds three characters. Microsoft has assigned code page 28597 a.k.a. Windows-28597 to ISO-8859-7 in Windows. IBM has assigned code page 813 to ISO 8859-7. (IBM CCSID 813 is the original encoding. CCSID 4909 adds the euro sign. CCSID 9005 further adds the drachma sign and ypogegrammeni.)

<span class="mw-page-title-main">Code page 850</span> Computer character set for Latin scripts

Code page 850 is a code page used under DOS operating systems in Western Europe. 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, whilst other English-speaking locales default to the hardware code page 437.

<span class="mw-page-title-main">Code page 437</span> Character set of the original IBM PC

Code page 437 is the character set of the original IBM PC. It is also known as CP437, OEM-US, OEM 437, PC-8, or DOS Latin US. The set includes all printable ASCII characters as well as some accented letters (diacritics), Greek letters, icons, and line-drawing symbols. It is sometimes referred to as the "OEM font" or "high ASCII", or as "extended ASCII".

Code page 852 is a code page used under DOS to write Central European languages that use Latin script.

The currency sign¤ is a character used to denote an unspecified currency. It can be described as a circle the size of a lowercase character with four short radiating arms at 45° (NE), 135° (SE), 225° (SW) and 315° (NW). It is raised slightly above the baseline. The character is sometimes called scarab.

Several 8-bit character sets (encodings) were designed for binary representation of common Western European languages, which use the Latin alphabet, a few additional letters and ones with precomposed diacritics, some punctuation, and various symbols. These character sets also happen to support many other languages such as Malay, Swahili, and Classical Latin.

Windows code pages are sets of characters or code pages used in Microsoft Windows from the 1980s and 1990s. Windows code pages were gradually superseded when Unicode was implemented in Windows, although they are still supported both within Windows and other platforms, and still apply when Alt code shortcuts are used.

<span class="mw-page-title-main">Extended ASCII</span> Nickname for 8-bit ASCII-derived character sets

Extended ASCII is a repertoire of character encodings that include the original 96 ASCII character set, plus up to 128 additional characters. There is no formal definition of "extended ASCII", and even use of the term is sometimes criticized, because it can be mistakenly interpreted to mean that the American National Standards Institute (ANSI) had updated its ANSI X3.4-1986 standard to include more characters, or that the term identifies a single unambiguous encoding, neither of which is the case.

Several mutually incompatible versions of the Extended Binary Coded Decimal Interchange Code (EBCDIC) have been used to represent the Japanese language on computers, including variants defined by Hitachi, Fujitsu, IBM and others. Some are variable-width encodings, employing locking shift codes to switch between single-byte and double-byte modes. Unlike other EBCDIC locales, the lowercase basic Latin letters are often not preserved in their usual locations.

References

  1. "Contents". www.ibm.com.
  2. "Code Page". sap.com. Archived from the original on 2009-11-14. Retrieved 2009-08-08.
  3. 1 2 "Glossary". oracle.com. Archived from the original on 2011-09-30. Retrieved 2009-08-08.
  4. "VT510 Video Terminal Programmer Information". Digital Equipment Corporation (DEC). 7.1. Character Sets - Overview. Archived from the original on 2016-01-26. Retrieved 2017-02-15. In addition to traditional DEC and ISO character sets, which conform to the structure and rules of ISO 2022, the VT510 supports a number of IBM PC code pages (page numbers in IBM's standard character set manual) in PCTerm mode to emulate the console terminal of industry-standard PCs.
  5. "7.1. Character Sets - Overview". VT520/VT525 Video Terminal Programmer Information (PDF). Digital Equipment Corporation (DEC). July 1994. p. 7-1. EK-VT520-RM. A01. Archived (PDF) from the original on 2017-02-15. Retrieved 2017-02-15. In addition to traditional DEC and ISO character sets the VT520 supports a number of IBM PC code pages (which refer to page numbers in IBM's standard character set manual) in PCTerm mode to emulate the console terminal of industry-standard PCs.
  6. 1 2 3 Paul, Matthias R. (2001-06-10) [1995]. "Overview on DOS, OS/2, and Windows codepages" (CODEPAGE.LST file) (1.59 preliminary ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20.
  7. "Printer Command Language Symbol Sets". www.pclviewer.com. Archived from the original on 2020-07-31. Retrieved 2021-05-25.
  8. "HP Symbol Sets". pclhelp.com. Archived from the original on 2015-02-19. Retrieved 2017-02-20.
  9. "PCL5 Camparison Guide" (PDF). Archived (PDF) from the original on 2017-02-21. Retrieved 2017-02-20.
  10. Zbikowski, Mark; Allen, Paul; Ballmer, Steve; Borman, Reuben; Borman, Rob; Butler, John; Carroll, Chuck; Chamberlain, Mark; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Rachel; Eckhardt, Kurt; Evans, Eric; Farmer, Rick; Gates, Bill; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; King, Adrian; Koch, Reed; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; McDonald, Marc; McKinney, Bruce; Martin, Pascal; Mathers, Estelle; Matthews, Bob; Melin, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; O'Rear, Bob; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim; Perez, Gary; Peters, Chris; Petzold, Charles; Pollock, John; Reynolds, Aaron; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Technical advisors". The MS-DOS Encyclopedia: versions 1.0 through 3.2. By Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Letwin, Gordon; Petzold, Charles; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne (Completely reworked ed.). Redmond, Washington, USA: Microsoft Press. ISBN   1-55615-049-0. LCCN   87-21452. OCLC   16581341. Archived 2018-10-14 at the Wayback Machine (xix+1570 pages; 26 cm) (NB. This edition was published in 1988 after extensive rework of the withdrawn 1986 first edition by a different team of authors.)
  11. "Code Page Identifiers". microsoft.com. Microsoft. Archived from the original on 2014-10-27. Retrieved 2014-10-27.
  12. "VGA/SVGA Video Programming--VGA Text Mode Operation". osdever.net. Archived from the original on 2010-09-01. Retrieved 2006-09-23.
  13. "IBM i Globalization: Code Pages". IBM. Archived from the original on 2012-07-16.
  14. 1 2 3 4 5 6 xlate - Transliterate Contents of Records, IBM Corporation, 2010 [1986], archived from the original on 2019-06-16, retrieved 2016-10-18
  15. "Code Page CPGID 01093 (pdf)" (PDF). Archived from the original (PDF) on 2015-07-08.
  16. Paul, Matthias R. (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.
  17. Elliott, John C. (2006-10-14). "CPI file format". Seasip.info. Archived from the original on 2016-09-22. Retrieved 2016-09-22.
  18. Brouwer, Andries Evert (2001-02-10). "CPI fonts". 0.2. Archived from the original on 2016-09-22. Retrieved 2016-09-22.
  19. Haralambous, Yannis (September 2007). Fonts & Encodings. Translated by Horne, P. Scott (1 ed.). Sebastopol, California, USA: O'Reilly Media, Inc. pp. 601–602, 611. ISBN   978-0-596-10242-5.
  20. MS-DOS Programmer's Reference . Microsoft Press. 1991. ISBN   1-55615-329-5.
  21. "Codepage 1004 - Windows Extended". IBM. 2001. Archived from the original on 2018-05-13. Retrieved 2018-05-13.
  22. "Character Data Representation Architecture". IBM . Archived from the original on 2019-06-23. Retrieved 2019-10-12.
  23. 1 2 3 4 5 6 7 8 9 10 11 12 "IBM Coded Character Set Identifier (CCSID)". IBM. Archived from the original on 2009-11-26.
  24. ISO/IEC 8859-1:1998(E). ISO. 1998-04-15. p. 1. Archived from the original on 2020-10-30. Retrieved 2020-10-30. The coded characters in this set may be used in conjunction with coded control functions selected from ISO/IEC 6429.
  25. "Code Pages". microsoft.com. Microsoft. Archived from the original on 2011-02-27. Retrieved 2010-12-21.
  26. "pentaho/pentaho-reporting". GitHub. Archived from the original on 2019-06-16. Retrieved 2017-02-20.
  27. 1 2 3 4 5 "Code Page Identifiers". Microsoft Developer Network . Microsoft. 2014. Archived from the original on 2016-06-19. Retrieved 2016-06-19.
  28. 1 2 3 4 5 "Web Encodings - Internet Explorer - Encodings". WHATWG Wiki. 2012-10-23. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  29. Foller, Antonin (2014) [2011]. "Western European (IA5) encoding - Windows charsets". WUtils.com - Online web utility and help. Motobit Software. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  30. Foller, Antonin (2014) [2011]. "German (IA5) encoding - Windows charsets". WUtils.com - Online web utility and help. Motobit Software. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  31. Foller, Antonin (2014) [2011]. "Swedish (IA5) encoding - Windows charsets". WUtils.com - Online web utility and help. Motobit Software. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  32. Foller, Antonin (2014) [2011]. "Norwegian (IA5) encoding - Windows charsets". WUtils.com - Online web utility and help. Motobit Software. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  33. Foller, Antonin (2014) [2011]. "US-ASCII encoding - Windows charsets". WUtils.com - Online web utility and help. Motobit Software. Archived from the original on 2016-06-20. Retrieved 2016-06-20.
  34. 1 2 3 4 5 6 7 Paul, Matthias R. (2002-09-05), Technical info on undocumented DOS country info for LCASE, ARAMODE and CCTORC records, FreeDOS development list fd-dev at Topica, archived from the original on 2016-05-27, retrieved 2016-05-26
  35. 1 2 3 4 5 6 7 8 Brown, Ralf D. (2002-12-29). The x86 Interrupt List. 61.
  36. 1 2 3 4 5 6 7 8 Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP (in German) (3 ed.). Archived from the original on 2016-05-22. Retrieved 2012-01-11. (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.)
  37. 1 2 3 4 5 6 7 8 Paul, Matthias R. (2001-04-09). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP (in German) (3 ed.).
  38. "770". Archived from the original on 2017-02-26. Retrieved 2017-02-25. From Lithuanian Lika Software
  39. 1 2 3 4 5 6 7 8 "LIKIT". www.likit.lt. Archived from the original on 2017-04-19. Retrieved 2017-02-25.
  40. "771". Archived from the original on 2017-02-26. Retrieved 2017-02-25. From Lithuanian Lika Software
  41. "772". Archived from the original on 2017-02-26. Retrieved 2017-02-25. From Lithuanian Lika Software
  42. "774". Archived from the original on 2017-02-26. Retrieved 2017-02-25. From Lithuanian Lika Software
  43. 1 2 3 "lietuvybė.lt - Rašmenų koduotės" [lietuvybė.lt - Character encodings] (in Lithuanian). Archived from the original on 2019-08-28. Retrieved 2019-08-28.
  44. Hogan, Thom (1992). Die PC-Referenz für Programmierer (in German) (2 ed.). Systhema Verlag GmbH. ISBN   3-89390-272-4. (NB. This book is the German translation of "The Programmer's PC Sourcebook" by Microsoft Press. It mentions the code page ID 854 for Spain.)
  45. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 "Star LC 8021 User's Manual" (PDF). Archived (PDF) from the original on 2020-09-29. Retrieved 2017-02-20.
  46. IBM. "SBCS code page information document - CPGID 00437". Archived from the original on 2016-06-09. Retrieved 2014-07-04.
  47. "Encoding". WHATWG. 2015-01-27. sec. 4.2 Names and labels. Archived from the original on 2015-02-04. Retrieved 2015-02-04.
  48. "Usage Statistics of Character Encodings for Websites, (updated daily)". w3techs.com. Retrieved 2015-08-06.
  49. "UTF-8 Usage Statistics". trends.builtwith.com. Archived from the original on 2011-03-24. Retrieved 2011-03-28.