Windows-1258

Last updated
Windows-1258
MIME / IANAwindows-1258
Alias(es)cp1258 (Code page 1258)
Language(s) Vietnamese, English, French, German, Spanish, Danish, Norwegian, Swedish, Finnish, Irish, Albanian, Luxembourgish, Tswana.
With combining diacritics:
Estonian, Italian, Portuguese, Yoruba, Guarani, Igbo, Nauruan, Devanagari transliteration.
Created by Microsoft
Standard WHATWG Encoding Standard
Classification extended ASCII, Windows-125x
Based on Windows-1252

Windows-1258 is a code page used in Microsoft Windows to represent Vietnamese texts. It makes use of combining diacritical marks.

Contents

Windows-1258 is compatible with neither the Vietnamese standard (TCVN 5712 / VSCII), nor the various other encodings in use in practice (VISCII, VNI, VPS). Rather, it is very similar to Windows-1252, with the differences being that s-caron and z-caron (which were added to Windows-1252 later) are missing, five of the letters with diacritics have been replaced by combining diacritics for Vietnamese tone marks, one has been replaced with the đông sign, and eight others (four per case) have been changed to four otherwise-unsupported Vietnamese letters.

Use of combining diacritics means that Windows-1258 can cover the large number of combinations of letters and tone marks in Vietnamese without compromising coverage of control codes or symbols. However it also means that software must be careful to handle conversions between precomposed characters and combining sequences correctly when converting to/from other encodings and makes determining user-visible length of a string more difficult.

IBM uses code page 1258 (CCSID 1258 and euro sign extended CCSID 5354) for Windows-1258. [1] [2] [3]

UTF-8 is the preferred encoding for Vietnamese in modern applications. Windows-1258 may not always round-trip Unicode encoded Vietnamese due to changes caused by Unicode normalization. [4] Combining diacritics are encoded after the letter in both Windows-1258 and Unicode [4] (like VNI, unlike ANSEL).

Character set

The following table shows Windows-1258. Each character is shown with its Unicode equivalent.

Windows-1258 [5] [6] [7] [8] [9] [10]
0123456789ABCDEF
0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2x  SP   ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~ DEL
8x ƒ ˆ Œ
9x ˜ œ Ÿ
Ax NBSP ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ SHY ® ¯
Bx ° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
Cx À Á Â Ă Ä Å Æ Ç È É Ê Ë ̀ Í Î Ï
Dx Đ Ñ ̉ Ó Ô Ơ Ö × Ø Ù Ú Û Ü Ư ̃ ß
Ex à á â ă ä å æ ç è é ê ë ́ í î ï
Fx đ ñ ̣ ó ô ơ ö ÷ ø ù ú û ü ư ÿ
  Differences from Windows-1252

Code page 1129

IBM's code page 1129 (CCSID 1129 and euro sign extended CCSID 1163) [11] [12] [13] is similar to code page 1258, but with the following differences:

Code page 1129 (differences from code page 1258) [14] [15] [16] [17] [18] [19]
0123456789ABCDEF
8x
9x
Ax NBSP ¡ ¢ £ ¤ ¥ ¦ § œ © ª « ¬ SHY ® ¯
Bx ° ± ² ³ Ÿ µ · Œ ¹ º » ¼ ½ ¾ ¿
  Differences from Windows-1258

See also

Related Research Articles

ISO/IEC 8859-3:1999, Information technology — 8-bit single-byte coded graphic character sets — Part 3: Latin alphabet No. 3, 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-3 or South European. It was designed to cover Turkish, Maltese and Esperanto, though the introduction of ISO/IEC 8859-9 superseded it for Turkish. The encoding was popular for users of Esperanto, but fell out of use as application support for Unicode became more common.

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-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.)

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 characters of ASCII unmodified, but it replaces 6 of the 33 control characters with printable characters. It adds 128 precomposed characters. Unicode and the Windows-1258 code page are now used for virtually all Vietnamese computer data, but legacy VSCII and VISCII files may need conversion.

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.

<span class="mw-page-title-main">Code page 866</span> Computer character set for Russian

Code page 866 is a code page used under DOS and OS/2 in Russia to write Cyrillic script. It is based on the "alternative code page" developed in 1984 in IHNA AS USSR and published in 1986 by a research group at the Academy of Science of the USSR. The code page was widely used during the DOS era because it preserves all of the pseudographic symbols of code page 437 and maintains alphabetic order of Cyrillic letters. Initially this encoding was only available in the Russian version of MS-DOS 4.01 (1990), but with MS-DOS 6.22 it became available in any language version.

Windows-1250 is a code page used under Microsoft Windows to represent texts in Central European and Eastern European languages that use the Latin script. It is primarily used by Czech, though Czech has now moved to UTF-8 and mostly abandoned this legacy encoding. It is also used for Polish, Slovak, Hungarian, Slovene, Serbo-Croatian, Romanian, Rotokas and Albanian. It may also be used with the German language, though it's missing uppercase ẞ. German-language texts encoded with Windows-1250 and Windows-1252 are identical.

Windows code page 1253, commonly known by its IANA-registered name Windows-1253 or abbreviated as cp1253, is a Microsoft Windows code page used to write modern Greek. It is not capable of supporting the older polytonic Greek.

Windows-1254 is a code page used under Microsoft Windows, to write Turkish that it was designed for. Characters with codepoints A0 through FF are compatible with ISO 8859-9, but the CR range, which is reserved for C1 control codes in ISO 8859, is instead used for additional characters. It is similar to ISO/IEC 8859-1 except for the replacement of six Icelandic characters with characters unique to the Turkish alphabet.

Windows-1255 is a code page used under Microsoft Windows to write Hebrew. It is an almost compatible superset of ISO-8859-8 – most of the symbols are in the same positions, but Windows-1255 adds vowel-points and other signs in lower positions.

Windows-1256 is a code page used under Microsoft Windows to write Arabic and other languages that use Arabic script, such as Persian and Urdu.

Windows-1257 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 named LST 1590-4.

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

Mac OS Central European is a character encoding used on Apple Macintosh computers to represent texts in Central European and Southeastern European languages that use the Latin script. This encoding is also known as Code Page 10029. IBM assigns code page/CCSID 1282 to this encoding. This codepage contains diacritical letters that ISO 8859-2 does not have, and vice versa.

Code page 862 is a code page used under DOS in Israel for Hebrew.

<span class="mw-page-title-main">Code page 950</span> Windows character set for Traditional Chinese

Code page 950 is the code page used on Microsoft Windows for Traditional Chinese. It is Microsoft's implementation of the de facto standard Big5 character encoding. The code page is not registered with IANA, and hence, it is not a standard to communicate information over the internet, although it is usually labelled simply as big5, including by Microsoft library functions.

Code page 856, is a code page used under DOS for Hebrew in Israel.

Code page 921 is a code page used under IBM AIX and DOS to write the Estonian, Latvian, and Lithuanian languages. It is an extension of ISO/IEC 8859-13.

Code page 922 is a code page used under IBM AIX and DOS to write the Estonian language. It is an extension and modification of ISO/IEC 8859-1, where the letters Ð/ð and Þ/þ used for Icelandic are replaced by the letters Š/š and Ž/ž respectively. This matches the encoding of these letters in Windows-1257 and ISO/IEC 8859-13.

Code page 1006, also known as ISO 8-bit Urdu, is used by IBM in its AIX operating system in Pakistan for Urdu.

References

  1. "Code page 1258 information document". Archived from the original on 2016-03-03.
  2. "CCSID 1258 information document". Archived from the original on 2014-11-29.
  3. "CCSID 5354 information document". Archived from the original on 2014-11-29.
  4. 1 2 Kaplan, Michael S. (2005-04-19). "A few of the gotchas of MultiByteToWideChar". Sorting it all out.
  5. Steele, Shawn (1998-04-15). "cp1258 to Unicode table". Microsoft.
  6. Unicode mappings of windows 1258 with "best fit"
  7. Code Page CPGID 01258 (pdf) (PDF), IBM
  8. Code Page CPGID 01258 (txt), IBM
  9. International Components for Unicode (ICU), ibm-1258_P100-1997.ucm, 2002-12-03
  10. International Components for Unicode (ICU), ibm-5354_P100-1998.ucm, 2002-12-03
  11. "Code page 1129 information document". Archived from the original on 2010-09-21.
  12. "CCSID 1129 information document". Archived from the original on 2016-03-27.
  13. "CCSID 1163 information document". Archived from the original on 2014-11-29.
  14. Lunde, Ken (13 January 2009). "Appendix L: Vietnamese Character Sets" (PDF). CJKV Information Processing (2nd ed.). ISBN   978-0-596-51447-1.
  15. Code Page CPGID 01129 (pdf) (PDF), IBM
  16. Code Page CPGID 01129 (txt), IBM
  17. International Components for Unicode (ICU), ibm-1129_P100-1997.ucm, 2002-12-03
  18. Code Page CPGID 01163 (pdf) (PDF), IBM
  19. Code Page CPGID 01163 (txt), IBM