Windows-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, nor the various other encodings in use in practice. Rather, it is very similar to Windows-1252, with the differences being that s-caron and z-caron 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 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 for Windows-1258.
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. Combining diacritics are encoded after the letter in both Windows-1258 and Unicode.

Character set

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

Code page 1129

IBM's code page 1129 is similar to code page 1258, but with the following differences: