Windows code page
   HOME

TheInfoList



OR:

Windows code pages are sets of characters or
code pages 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 c ...
(known as
character encoding Character encoding is the process of assigning numbers to Graphics, graphical character (computing), characters, especially the written characters of Language, human language, allowing them to be Data storage, stored, Data communication, transmi ...
s in other operating systems) used in
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
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. There are two groups of system code pages in Windows systems: OEM and Windows-native ("ANSI") code pages. (ANSI is the
American National Standards Institute The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organi ...
.) Code pages in both of these groups are extended ASCII code pages. Additional code pages are supported by standard Windows conversion routines, but not used as either type of system code page.


ANSI code page

ANSI code pages (officially called "Windows code pages" after Microsoft accepted the former term being a misnomer ) are used for native non-Unicode (say, byte oriented) applications using a
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
on Windows systems. The term "ANSI" is a misnomer because these Windows code pages do not comply with any ANSI (American National Standards Institute) standard;
code page 1252 Windows-1252 or CP-1252 ( code page 1252) is a single-byte character encoding of the Latin alphabet, used by default in the legacy components of Microsoft Windows for English and many European languages including Spanish, French, and German. I ...
was based on an early ANSI draft that became the international standard ISO 8859-1, which adds a further 32 control codes and space for 96 printable characters. Among other differences, Windows code-pages allocate printable characters to the supplementary control code space, making them at best illegible to standards-compliant operating systems.) Most legacy "ANSI" code pages have code page numbers in the pattern 125x. However,
874 __FORCETOC__ Year 874 ( DCCCLXXIV) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. Events By place Europe * Salomon, duke ('king') of Brittany, is murdered by a faction which includ ...
(Thai) and the East Asian multi-byte "ANSI" code pages (
932 Year 932 ( CMXXXII) was a leap year starting on Sunday (link will display the full calendar) of the Julian calendar. Events By place Europe * Summer – Alberic II leads an uprising at Rome against his stepfather Hugh of Provence ...
,
936 Year 936 ( CMXXXVI) was a leap year starting on Friday (link will display the full calendar) of the Julian calendar. Events By place Europe * June 19 – At Laon, Louis IV, the 14-year old son of the late King Charles the Simp ...
,
949 Year 949 ( CMXLIX) was a common year starting on Monday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Arab-Byzantine War: Hamdanid forces under Sayf al-Dawla raid into the theme of Ly ...
,
950 Year 950 ( CML) was a common year starting on Tuesday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Arab–Byzantine War: A Hamdanid army (30,000 men) led by Sayf al-Dawla raids int ...
), all of which are also used as OEM code pages, are numbered to match IBM encodings, none of which are identical to the Windows encodings (although most are similar). While
code page 1258 Windows-1258 is a code page used in Microsoft Windows to represent Vietnamese texts. It makes use of combining diacritical marks. Windows-1258 is compatible with neither the Vietnamese standard ( TCVN 5712 / VSCII), nor the various other encodi ...
is also used as an OEM code page, it is original to Microsoft rather than an extension to an existing encoding. IBM have assigned their own, different numbers for Microsoft's variants, these are given for reference in the lists below where applicable. All of the 125x Windows code pages, as well as 874 and 936, are labelled by
Internet Assigned Numbers Authority The Internet Assigned Numbers Authority (IANA) is a standards organization that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System (DNS), media types, and other Interne ...
(IANA) as "Windows-''number''", although "Windows-936" is treated as a synonym for " GBK". Windows code page 932 is instead labelled as "Windows-31J". ANSI Windows code pages, and especially the code page
1252 Year 1252 ( MCCLII) was a leap year starting on Monday (link will display the full calendar) of the Julian calendar. Events By place Europe * April 6 – Saint Peter of Verona is assassinated by Carino of Balsamo. * May 15 – P ...
, were so called since they were purportedly based on drafts submitted or intended for ANSI. However, ANSI and
ISO ISO is the most common abbreviation for the International Organization for Standardization. ISO or Iso may also refer to: Business and finance * Iso (supermarket), a chain of Danish supermarkets incorporated into the SuperBest chain in 2007 * Iso ...
have not standardized any of these code pages. Instead they are either: * Supersets of the standard sets such as those of
ISO 8859 ISO/IEC 8859 is a joint ISO and IEC series of standards for 8-bit character encodings. The series of standards consists of numbered parts, such as ISO/IEC 8859-1, ISO/IEC 8859-2, etc. There are 15 parts, excluding the abandoned ISO/IEC 8859-12 ...
and the various national standards (like
Windows-1252 Windows-1252 or CP-1252 ( code page 1252) is a single-byte character encoding of the Latin alphabet, used by default in the legacy components of Microsoft Windows for English and many European languages including Spanish, French, and German. I ...
vs. ISO-8859-1), * Major modifications of these (making them incompatible to various degrees, like
Windows-1250 Windows-1250 is a code page used under Microsoft Windows to represent texts in Central European and Eastern European languages that use Latin script, such as Czech (which is its main user with half its use, though Czech has 96.6% use of UTF-8, an ...
vs.
ISO-8859-2 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. I ...
) * Having no parallel encoding (like
Windows-1257 Windows-1257 (Windows Baltic) is an 8-bit, single-byte extended ASCII code page used to support the Estonian, Latvian and Lithuanian languages under Microsoft Windows. In Lithuania, it is standardised as LST 1590-3, alongside a modified variant ...
vs.
ISO-8859-4 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. I ...
;
ISO-8859-13 ISO/IEC 8859-13:1998, ''Information technology — 8-bit single-byte coded graphic character sets — Part 13: Latin alphabet No. 7'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1998. ...
was introduced much later). Also,
Windows-1251 Windows-1251 is an 8-bit character encoding, designed to cover languages that use the Cyrillic script such as Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Macedonian and other languages. On the web, it is the second most-used si ...
follows neither the ISO-standardised
ISO-8859-5 ISO/IEC 8859-5:1999, ''Information technology — 8-bit single-byte coded graphic character sets — Part 5: Latin/Cyrillic alphabet'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 198 ...
nor the then-prevailing
KOI-8 KOI-8 (КОИ-8) is an 8-bit character set standardized in GOST 19768-74. Маркелова Л. Н. Эксплуатация программоуправляемой вычислительной машины «Искра 226». — М.: Ма ...
. Microsoft assigned about twelve of the
typography Typography is the art and technique of arranging type to make written language legible, readable and appealing when displayed. The arrangement of type involves selecting typefaces, point sizes, line lengths, line-spacing ( leading), and ...
and business characters (including notably, the euro sign, €) in CP1252 to the
code point In character encoding terminology, a code point, codepoint or code position is a numerical value that maps to a specific character. Code points usually represent a single grapheme—usually a letter, digit, punctuation mark, or whitespace—but ...
s 0x80–0x9F that, in ISO 8859, are assigned to
C1 control codes The C0 and C1 control code or control character sets define control codes for use in text by computer systems that use ASCII and derivatives of ASCII. The codes represent additional information about the text, such as the position of a cursor, ...
. These assignments are also present in many other ANSI/Windows code pages at the same code-points. Windows did not use the C1 control codes, so this decision had no direct effect on Windows users. However, if included in a file transferred to a standards-compliant platform like Unix or MacOS, the information was invisible and potentially disruptive.


OEM code page

The OEM code pages (
original equipment manufacturer An original equipment manufacturer (OEM) is generally perceived as a company that produces non-aftermarket parts and equipment that may be marketed by another manufacturer. It is a common industry term recognized and used by many professional or ...
) are used by
Win32 console Windows Console is the infrastructure for console applications in Microsoft Windows. An instance of a Windows Console has a screen buffer and an input buffer. It allows console apps to run inside a window or in hardware text mode (so as to oc ...
applications, and by virtual DOS, and can be considered a holdover from
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
and the original
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
architecture. A separate suite of code pages was implemented not only due to compatibility, but also because the fonts of VGA (and descendant) hardware suggest encoding of line-drawing characters to be compatible with code page 437. Most OEM code pages share many code points, particularly for non-letter characters, with the second (non-ASCII) half of CP437. A typical OEM code page, in its second half, does not resemble any ANSI/Windows code page even roughly. Nevertheless, two single-byte, fixed-width code pages (874 for
Thai Thai or THAI may refer to: * Of or from Thailand, a country in Southeast Asia ** Thai people, the dominant ethnic group of Thailand ** Thai language, a Tai-Kadai language spoken mainly in and around Thailand *** Thai script *** Thai (Unicode block ...
and 1258 for
Vietnamese Vietnamese may refer to: * Something of, from, or related to Vietnam, a country in Southeast Asia ** A citizen of Vietnam. See Demographics of Vietnam. * Vietnamese people, or Kinh people, a Southeast Asian ethnic group native to Vietnam ** Overse ...
) and four multibyte CJK code pages (
932 Year 932 ( CMXXXII) was a leap year starting on Sunday (link will display the full calendar) of the Julian calendar. Events By place Europe * Summer – Alberic II leads an uprising at Rome against his stepfather Hugh of Provence ...
,
936 Year 936 ( CMXXXVI) was a leap year starting on Friday (link will display the full calendar) of the Julian calendar. Events By place Europe * June 19 – At Laon, Louis IV, the 14-year old son of the late King Charles the Simp ...
,
949 Year 949 ( CMXLIX) was a common year starting on Monday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Arab-Byzantine War: Hamdanid forces under Sayf al-Dawla raid into the theme of Ly ...
,
950 Year 950 ( CML) was a common year starting on Tuesday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Arab–Byzantine War: A Hamdanid army (30,000 men) led by Sayf al-Dawla raids int ...
) are used as both OEM and ANSI code pages. Code page 1258 uses
combining diacritic In digital typography, combining characters are characters that are intended to modify other characters. The most common combining characters in the Latin script are the combining diacritical marks (including combining accents). Unicode als ...
s, as Vietnamese requires more than 128 letter-diacritic combinations. This is in contrast to
VISCII VISCII is an unofficially-defined modified ASCII character encoding for using the Vietnamese language with computers. It should not be confused with the similarly-named officially registered VSCII encoding. VISCII keeps the 95 printable chara ...
, which replaces some of the C0 (i.e. ASCII) control codes.


History

Initially, computer systems and system programming languages did not make a distinction between
character Character or Characters may refer to: Arts, entertainment, and media Literature * ''Character'' (novel), a 1936 Dutch novel by Ferdinand Bordewijk * ''Characters'' (Theophrastus), a classical Greek set of character sketches attributed to The ...
s and
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
s: for the segmental scripts used in most of Africa, the Americas, southern and south-east Asia, the Middle East and Europe, a character needs just one byte, but two or more bytes are needed for the
ideographic An ideogram or ideograph (from Greek "idea" and "to write") is a graphic symbol that represents an idea or concept, independent of any particular language, and specific words or phrases. Some ideograms are comprehensible only by familiari ...
sets used in the rest of the world. This led to much confusion subsequently. Microsoft software and systems prior to the
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
line are examples of this, because they use the OEM and ANSI code pages that do not make the distinction. Since the late 1990s, software and systems have adopted
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
as their preferred storage format; this trend has been improved by the widespread adoption of
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
which default to
UTF-8 UTF-8 is a variable-width encoding, variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit'' ...
but also provides a mechanism for labelling the encoding used. All current Microsoft products and
application program interfaces An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
use Unicode internally, but some applications continue to use the default encoding of the computer's 'locale' when reading and writing text data to files or standard output. Therefore, files may still be encountered that are legible and intelligible in one part of the world but unintelligible
mojibake Mojibake ( ja, 文字化け; , "character transformation") is the garbled text that is the result of text being decoded using an unintended character encoding. The result is a systematic replacement of symbols with completely unrelated ones, oft ...
in another.


UTF-8, UTF-16

Microsoft adopted a Unicode encoding (first the now-obsolete
UCS-2 The Universal Coded Character Set (UCS, Unicode) is a standard set of characters defined by the international standard ISO/IEC 10646, ''Information technology — Universal Coded Character Set (UCS)'' (plus amendments to that standard), whi ...
, which was then Unicode's only encoding), i.e.
UTF-16 UTF-16 (16-bit Unicode Transformation Format) is a character encoding capable of encoding all 1,112,064 valid code points of Unicode (in fact this number of code points is dictated by the design of UTF-16). The encoding is variable-length, as cod ...
for all its
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
s from Windows NT onwards, but now additionally supports and recommends using
UTF-8 UTF-8 is a variable-width encoding, variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit'' ...
(aka CP_UTF8). UTF-16 uniquely encodes all Unicode characters in the
Basic Multilingual Plane In the Unicode standard, a plane is a continuous group of 65,536 (216) code points. There are 17 planes, identified by the numbers 0 to 16, which corresponds with the possible values 00–1016 of the first two positions in six position hexadecima ...
(BMP) using 16 bits but the remaining Unicode (e.g.
emoji An emoji ( ; plural emoji or emojis) is a pictogram, logogram, ideogram or smiley embedded in text and used in electronic messages and web pages. The primary function of emoji is to fill in emotional cues otherwise missing from typed conversat ...
s) is encoded with a 32-bit (four byte) code while the rest of the industry (
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems and the web), and now Microsoft chose
UTF-8 UTF-8 is a variable-width encoding, variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit'' ...
(which uses one byte for the 7-bit
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
character set, two or three bytes for other characters in the BMP, and four bytes for the remainder). Since
Windows 10 version 1803 Windows 10 April 2018 Update (also known as version 1803 and codenamed "Redstone 4") is the fifth major update to Windows 10 and the fourth in a series of updates under the Redstone codenames. It carries the build number 10.0.17134. Version histo ...
, Windows machines can be configured to allow UTF-8 as the "ANSI" and OEM codepage.


List

The following Windows code pages exist:


Windows-125x series

These nine code pages are all extended ASCII 8-bit
SBCS SBCS, or Single Byte Character Set, is used to refer to character encodings that use exactly one byte for each graphic character. An SBCS can accommodate a maximum of 256 symbols, and is useful for scripts that do not have many symbols or accented ...
encodings, and were designed by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
for use as ANSI codepages on Windows. They are commonly known by their IANA-registered names as windows-<number>, but are also sometimes called cp<number>, "cp" for "code page". They are all used as ANSI code pages; Windows-1258 is also used as an OEM code page. The Windows-125x series includes nine of the ANSI code pages, and mostly covers scripts from
Europe Europe is a large peninsula conventionally considered a continent in its own right because of its great physical size and the weight of its history and traditions. Europe is also considered a Continent#Subcontinents, subcontinent of Eurasia ...
and
West Asia Western Asia, West Asia, or Southwest Asia, is the westernmost subregion of the larger geographical region of Asia, as defined by some academics, UN bodies and other institutions. It is almost entirely a part of the Middle East, and includes Ana ...
with the addition of
Vietnam Vietnam or Viet Nam ( vi, Việt Nam, ), officially the Socialist Republic of Vietnam,., group="n" is a country in Southeast Asia, at the eastern edge of mainland Southeast Asia, with an area of and population of 96 million, making i ...
. System encodings for
Thai Thai or THAI may refer to: * Of or from Thailand, a country in Southeast Asia ** Thai people, the dominant ethnic group of Thailand ** Thai language, a Tai-Kadai language spoken mainly in and around Thailand *** Thai script *** Thai (Unicode block ...
and for
East Asia East Asia is the eastern region of Asia, which is defined in both geographical and ethno-cultural terms. The modern states of East Asia include China, Japan, Mongolia, North Korea, South Korea, and Taiwan. China, North Korea, South Korea and ...
n languages were numbered to match similar IBM code pages and are used as both ANSI and OEM code pages; these are covered in following sections.


DOS code pages

These are also ASCII-based. Most of these are included for use as OEM code pages; code page 874 is also used as an ANSI code page. *
437 __NOTOC__ Year 437 ( CDXXXVII) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Aetius and Sigisvultus (or, less frequently, year 119 ...
 – IBM PC US, 8-bit
SBCS SBCS, or Single Byte Character Set, is used to refer to character encodings that use exactly one byte for each graphic character. An SBCS can accommodate a maximum of 256 symbols, and is useful for scripts that do not have many symbols or accented ...
extended ASCII. Known as OEM-US, the encoding of the primary built-in font of VGA graphics cards. *
708 __NOTOC__ Year 708 ( DCCVIII) was a leap year starting on Sunday (link will display the full calendar) of the Julian calendar. The denomination 708 for this year has been used since the early medieval period, when the Anno Domini calendar era b ...
 – Arabic, extended
ISO 8859-6 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. ...
(ASMO 708) *
720 __NOTOC__ Year 720 ( DCCXX) was a leap year starting on Monday (link will display the full calendar) of the Julian calendar. The denomination 720 for this year has been used since the early medieval period, when the Anno Domini calendar era ...
 – Arabic, retaining box drawing characters in their usual locations *
737 737 most commonly refers to: * Boeing 737, an American narrow-body passenger airplane ** Boeing 737 Classic ** Boeing 737 MAX ** Boeing 737 Next Generation * AD 737, a year in the common era * 737 BC, a year * 737 (number), a number 737 may als ...
 – "MS-DOS Greek". Retains all box drawing characters. More popular than 869. * 775 – "MS-DOS Baltic Rim" *
850 ''For codepage, see CP850.'' __NOTOC__ Year 850 ( DCCCL) was a common year starting on Wednesday (link will display the full calendar) of the Julian calendar. Events By place Europe * February 1 – King Ramiro I dies in his palac ...
 – "MS-DOS Latin 1". Full (re-arranged) repertoire of ISO 8859-1. * 852 – "MS-DOS Latin 2" * 855 – "MS-DOS Cyrillic". Mainly used for
South Slavic languages The South Slavic languages are one of three branches of the Slavic languages. There are approximately 30 million speakers, mainly in the Balkans. These are separated geographically from speakers of the other two Slavic branches (West and East) ...
. Includes (re-arranged) repertoire of
ISO-8859-5 ISO/IEC 8859-5:1999, ''Information technology — 8-bit single-byte coded graphic character sets — Part 5: Latin/Cyrillic alphabet'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 198 ...
. Not to be confused with cp866. *
857 __NOTOC__ Year 857 ( DCCCLVII) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * Emperor Michael III, under the influence of his uncle Bardas, banis ...
 – "MS-DOS Turkish" *
858 __NOTOC__ Year 858 ( DCCCLVIII) was a common year starting on Saturday (link will display the full calendar) of the Julian calendar. Events By place Europe * Summer – King Louis the German, summoned by the disaffected Frankish ...
 – Western European with euro sign * 860 – "MS-DOS Portuguese" *
861 __NOTOC__ Year 861 ( DCCCLXI) was a common year starting on Wednesday (link will display the full calendar) of the Julian calendar. Events By place Europe * March – Robert the Strong is appointed margrave of Neustria by King Ch ...
 – "MS-DOS Icelandic" *
862 __NOTOC__ Year 862 ( DCCCLXII) was a common year starting on Thursday (link will display the full calendar) of the Julian calendar. Events By place Europe * The Varangians (called Rus'), under the leadership of Rurik, a Viking chie ...
 – "MS-DOS Hebrew" *
863 __NOTOC__ Year 863 ( DCCCLXIII) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * September 3 – Battle of Lalakaon: A Byzantine army confronts ...
 – "MS-DOS French Canada" *
864 __NOTOC__ Year 864 ( DCCCLXIV) was a leap year starting on Saturday (link will display the full calendar) of the Julian calendar. Events By place Europe * Spring – Emperor Louis II (the Younger) marches with a Frankish army ag ...
 – Arabic *
865 __NOTOC__ Year 865 ( DCCCLXV) was a common year starting on Monday (link will display the full calendar) of the Julian calendar. Events By place Europe * King Louis the German divides the East Frankish Kingdom among his three sons. C ...
 – "MS-DOS Nordic" * 866 – "MS-DOS Cyrillic Russian", cp866. Sole purely OEM code page (rather than ANSI or both) included as a legacy encoding in WHATWG Encoding Standard for
HTML5 HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
. * 869 – "MS-DOS Greek 2", IBM869. Full (re-arranged) repertoire of
ISO 8859-7 ISO is the most common abbreviation for the International Organization for Standardization. ISO or Iso may also refer to: Business and finance * Iso (supermarket), a chain of Danish supermarkets incorporated into the SuperBest chain in 2007 * Iso ...
. *
874 __FORCETOC__ Year 874 ( DCCCLXXIV) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. Events By place Europe * Salomon, duke ('king') of Brittany, is murdered by a faction which includ ...
 –
Thai Thai or THAI may refer to: * Of or from Thailand, a country in Southeast Asia ** Thai people, the dominant ethnic group of Thailand ** Thai language, a Tai-Kadai language spoken mainly in and around Thailand *** Thai script *** Thai (Unicode block ...
, also used as the ANSI code page, extends
ISO 8859-11 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. I ...
(and therefore
TIS-620 Thai Industrial Standard 620-2533, commonly referred to as TIS-620, is the most common character set and character encoding for the Thai language. The standard is published by the Thai Industrial Standards Institute (TISI), an organ of the Min ...
) with a few additional characters from Windows-1252. Corresponds to IBM code page 1162 (IBM-874 is similar but has different extensions).


East Asian multi-byte code pages

These often differ from the IBM code pages of the same number: code pages 932, 949 and 950 only partly match the IBM code pages of the same number, while the number 936 was used by IBM for another Simplified Chinese encoding which is now deprecated and Windows-951, as part of a
kludge A kludge or kluge () is a workaround or quick-and-dirty solution that is clumsy, inelegant, inefficient, difficult to extend and hard to maintain. This term is used in diverse fields such as computer science, aerospace engineering, Internet sla ...
, is unrelated to IBM-951. IBM equivalent code pages are given in the second column. Code pages 932, 936, 949 and 950/951 are used as both ANSI and OEM code pages on the locales in question. A few further multiple-byte code pages are supported for decoding or encoding using operating system libraries, but not used as either sort of system encoding in any locale.


EBCDIC code pages

* 37 – IBM EBCDIC US-Canada, 8-bit SBCS * 500 – Latin 1 * 870 – IBM870 * 875 – cp875 * 1026 – EBCDIC Turkish * 1047 – IBM01047 – Latin 1 * 1140 – IBM01141 * 1141 – IBM01141 * 1142 – IBM01142 * 1143 – IBM01143 * 1144 – IBM01144 * 1145 – IBM01145 * 1146 – IBM01146 * 1147 – IBM01147 * 1148 – IBM01148 * 1149 – IBM01149 * 20273 – EBCDIC Germany * 20277 – EBCDIC Denmark/Norway * 20278 – EBCDIC Finland/Sweden * 20280 – EBCDIC Italy * 20284 – EBCDIC Latin America/Spain * 20285 – EBCDIC United Kingdom * 20290 – EBCDIC Japanese * 20297 – EBCDIC France * 20420 – EBCDIC Arabic * 20423 – EBCDIC Greek * 20424 – x-EBCDIC-KoreanExtended * 20833 – Korean * 20838 – EBCDIC Thai * 20924 – IBM00924 – IBM EBCDIC Latin 1/Open System (1047 + Euro symbol) * 20871 – EBCDIC Icelandic * 20880 – EBCDIC Cyrillic * 20905 – EBCDIC Turkish * 21025 – EBCDIC Cyrillic * 21027 – Japanese EBCDIC (incomplete, deprecated)


Unicode-related code pages

*
1200 Events By place Europe * Spring – Boniface I, marquis of Montferrat, sends envoys to Venice, Genoa and other city-states to negotiate a contract for transport to the Levant. Meanwhile, Boniface and various nobles are mustering ...
 –
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
(BMP of ISO 10646,
UTF-16LE UTF-16 (16-bit Unicode Transformation Format) is a character encoding capable of encoding all 1,112,064 valid code points of Unicode (in fact this number of code points is dictated by the design of UTF-16). The encoding is variable-length, as cod ...
). Available only to managed applications. *
1201 Year 1201 ( MCCI) was a common year starting on Monday (link will display the full calendar) of the Julian calendar. Events By place Byzantine Empire * July 31 – John Komnenos the Fat, a Byzantine aristocrat, attempts to usurp ...
 –
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
( UTF-16BE). Available only to managed applications. * 12000 –
UTF-32 UTF-32 (32- bit Unicode Transformation Format) is a fixed-length encoding used to encode Unicode code points that uses exactly 32 bits (four bytes) per code point (but a number of leading bits must be zero as there are far fewer than 232 Unicode ...
. Available only to managed applications. * 12001 –
UTF-32 UTF-32 (32- bit Unicode Transformation Format) is a fixed-length encoding used to encode Unicode code points that uses exactly 32 bits (four bytes) per code point (but a number of leading bits must be zero as there are far fewer than 232 Unicode ...
. Big-endian. Available only to managed applications. * 65000 –
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
(
UTF-7 UTF-7 (7- bit Unicode Transformation Format) is an obsolete variable-length character encoding for representing Unicode text using a stream of ASCII characters. It was originally intended to provide a means of encoding Unicode text for use in In ...
) * 65001 –
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
(
UTF-8 UTF-8 is a variable-width encoding, variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit'' ...
)


Macintosh compatibility code pages

* 10000 – Apple Macintosh Roman * 10001 – Apple Macintosh Japanese * 10002 – Apple Macintosh Chinese (traditional) (BIG-5) * 10003 – Apple Macintosh Korean * 10004 – Apple Macintosh Arabic * 10005 – Apple Macintosh Hebrew * 10006 – Apple Macintosh Greek * 10007 – Apple Macintosh Cyrillic * 10008 – Apple Macintosh Chinese (simplified) (GB 2312) * 10010 – Apple Macintosh Romanian * 10017 – Apple Macintosh Ukrainian * 10021 – Apple Macintosh Thai * 10029 – Apple Macintosh Roman II / Central Europe * 10079 – Apple Macintosh Icelandic * 10081 – Apple Macintosh Turkish * 10082 – Apple Macintosh Croatian


ISO 8859 code pages

* 28591 – ISO-8859-1 – Latin-1 (IBM equivalent: 819) * 28592 –
ISO-8859-2 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. I ...
 – Latin-2 * 28593 – ISO-8859-3 – Latin-3 or South European * 28594 –
ISO-8859-4 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. I ...
 – Latin-4 or North European * 28595 –
ISO-8859-5 ISO/IEC 8859-5:1999, ''Information technology — 8-bit single-byte coded graphic character sets — Part 5: Latin/Cyrillic alphabet'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 198 ...
 – Latin/Cyrillic * 28596 –
ISO-8859-6 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. ...
 – Latin/Arabic * 28597 –
ISO-8859-7 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. I ...
 – Latin/Greek * 28598 –
ISO-8859-8 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 represe ...
 – Latin/Hebrew * 28599 –
ISO-8859-9 ISO/IEC 8859-9:1999, ''Information technology — 8-bit single-byte coded graphic character sets — Part 9: Latin alphabet No. 5'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1989. ...
 – Latin-5 or Turkish * 28600 –
ISO-8859-10 ISO/IEC 8859-10:1998, ''Information technology — 8-bit single-byte coded graphic character sets — Part 10: Latin alphabet No. 6'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1992. ...
 – Latin-6 * 28601 –
ISO-8859-11 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. I ...
 – Latin/Thai * 28602 –
ISO-8859-12 ISO/IEC 8859-12 would have been part 12 of the ISO/IEC 8859 character encoding standard series. ISO 8859-12 was originally proposed to support the Celtic languages. ISO 8859-12 was later slated for Latin/Devanagari, but this was abandoned in 1997 ...
 – ''reserved for Latin/Devanagari but abandoned'' (not supported) * 28603 –
ISO-8859-13 ISO/IEC 8859-13:1998, ''Information technology — 8-bit single-byte coded graphic character sets — Part 13: Latin alphabet No. 7'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1998. ...
 – Latin-7 or Baltic Rim * 28604 – ISO-8859-14 – Latin-8 or Celtic * 28605 –
ISO-8859-15 ISO/IEC 8859-15:1999, ''Information technology — 8-bit single-byte coded graphic character sets — Part 15: Latin alphabet No. 9'', is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1999. ...
 – Latin-9 * 28606 – ISO-8859-16 – Latin-10 or South-Eastern European * 38596 – ISO-8859-6- – Latin/Arabic (logical bidirectional order) * 38598 – ISO-8859-8- – Latin/Hebrew (logical bidirectional order)


ITU-T code pages

* 20105 – 7-bit IA5 IRV (Western European) * 20106 – 7-bit IA5 German (DIN 66003) * 20107 – 7-bit IA5 Swedish (SEN 850200 C) * 20108 – 7-bit IA5 Norwegian (NS 4551-2) * 20127 – 7-bit
US-ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
* 20261 – T.61 (T.61-8bit) * 20269 – ISO-6937


KOI8 code pages

* 20866 – Russian – KOI8-R * 21866 – Ukrainian – KOI8-U (or
KOI8-RU KOI8-RU is an 8-bit character encoding, designed to cover Russian, Ukrainian, and Belarusian which use a Cyrillic alphabet. It is closely related to KOI8-R, which covers Russian and Bulgarian, but replaces ten box drawing characters with five ...
in some versions)


Problems arising from the use of code pages

Microsoft strongly recommends using Unicode in modern applications, but many applications or data files still depend on the legacy code pages. * Programs need to know what code page to use in order to display the contents of (pre-Unicode) files correctly. If a program uses the wrong code page it may show text as
mojibake Mojibake ( ja, 文字化け; , "character transformation") is the garbled text that is the result of text being decoded using an unintended character encoding. The result is a systematic replacement of symbols with completely unrelated ones, oft ...
. * The code page in use may differ between machines, so (pre-Unicode) files created on one machine may be unreadable on another. * Data is often improperly tagged with the code page, or not tagged at all, making determination of the correct code page to read the data difficult. * These Microsoft code pages differ to various degrees from some of the standards and other vendors' implementations. This isn't a Microsoft issue ''per se'', as it happens to all vendors, but the lack of consistency makes interoperability with other systems unreliable in some cases. * The use of code pages limits the set of characters that may be used. * Characters expressed in an unsupported code page may be converted to question marks (?) or other
replacement character Specials is a short Unicode block of characters allocated at the very end of the Basic Multilingual Plane, at U+FFF0–FFFF. Of these 16 code points, five have been assigned since Unicode 3.0: *, marks start of annotated text *, marks start ...
s, or to a simpler version (such as removing accents from a letter). In either case, the original character may be lost.


See also

* AppLocale – a utility to run non-Unicode (code page-based) applications in a locale of the user's choice.


References


External links


National Language Support (NLS) API Reference
Table showing ANSI and OEM codepages per language (from web-archive since Microsoft removed the original page)
IANA Charset Name Registrations

Unicode mapping table for Windows code pages

Unicode mappings of windows code pages with "best fit"
{{DEFAULTSORT:Windows Code Page