Windows-1251 Explained

Windows-1251
Mime:windows-1251
Alias:cp1251 (Code page 1251)
By:Microsoft
Standard:WHATWG Encoding Standard
Lang:Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Bosnian Cyrillic, Macedonian, Rotokas, Rusyn, English
Classification:extended ASCII, Windows-125x
Otherrelated:Amiga-1251, KZ-1048,
RFC 1345's "ECMA-Cyrillic"

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 single-byte character encoding (or third most-used character encoding overall), and most used of the single-byte encodings supporting Cyrillic., 0.3% of all websites use Windows-1251.[1] [2] It's by far mostly used for Russian, while a small minority of Russian websites use it, with 94.6% of Russian (.ru) websites using UTF-8,[3] [4] [5] and the legacy 8-bit encoding is distant second. In Linux, the encoding is known as cp1251.[6] IBM uses code page 1251 (CCSID 1251 and euro sign extended CCSID 5347) for Windows-1251.[7] [8] [9]

Windows-1251 and KOI8-R (or its Ukrainian variant KOI8-U) are much more commonly used than ISO 8859-5 (which is used by less than 0.0004% of websites).[10] In contrast to Windows-1252 and ISO 8859-1, Windows-1251 is not closely related to ISO 8859-5.

Unicode (e.g. UTF-8) is preferred to Windows-1251 or other Cyrillic encodings in modern applications, especially on the Internet, making UTF-8 the dominant encoding for web pages. (For further discussion of Unicode's complete coverage, of 436 Cyrillic letters/code points, including for Old Cyrillic, and how single-byte character encodings, such as Windows-1251 and KOI8-R, cannot provide this, see Cyrillic script in Unicode.)

Character set

The following table shows Windows-1251. Each character is shown with its Unicode equivalent and its Alt code.

Kazakh variants

An altered version of Windows-1251 was standardised in Kazakhstan as Kazakh standard STRK1048, and is known by the label . It differs in the rows shown below:

Code Page 1174 is another variant created for the Kazakh language, which matches Windows-1251 for the Russian subset of the Cyrillic letters. It differs from KZ-1048 by moving the Cyrillic letter Shha from 8E/9E to 8A/9A.

Amiga variant

Amiga-1251
Mime:Amiga-1251
Alias:Ami1251
Lang:English, Russian
Classification:extended ASCII

Russian Amiga OS systems used a version of code page 1251 which matches Windows-1251 for the Russian subset of the Cyrillic letters, but otherwise mostly follows ISO-8859-1. This version is known as Amiga-1251, under which name it is registered with the IANA.[11]

See also

Further reading

External links

Notes and References

  1. Web site: Historical trends in the usage of character encodings, January 2024. 2024-01-01.
  2. Web site: Frequently Asked Questions.
  3. Web site: Distribution of Character Encodings among websites that use .ru. w3techs.com. 2024-01-01.
  4. Web site: Distribution of Character Encodings among websites that use Russian. 2023-01-16. w3techs.com.
  5. Web site: Distribution of Character Encodings among websites that use Russian Federation. 2021-11-05. w3techs.com.
  6. Web site: cp1251(7) - Linux manual page. man7.org. 2018-07-01.
  7. Web site: Code page 1251 information document. https://web.archive.org/web/20160303215653/http://www-01.ibm.com/software/globalization/cp/cp01251.html. 2016-03-03.
  8. Web site: CCSID 1251 information document. https://web.archive.org/web/20141129205237/http://www-01.ibm.com/software/globalization/ccsid/ccsid1251.html. 2014-11-29.
  9. Web site: CCSID 5347 information document. https://web.archive.org/web/20141129214513/http://www-01.ibm.com/software/globalization/ccsid/ccsid5347.html. 2014-11-29.
  10. Web site: Usage Statistics of Character Encodings for Websites. w3techs.com. en . live . https://archive.today/20120530032500/http://w3techs.com/technologies/overview/character_encoding/all . 2012-05-30.
  11. Web site: Character Sets. IANA .