Windows-1258
Windows-1258 is a code page used in Microsoft Windows to represent Vietnamese texts. It makes use of combining diacritical marks.
MIME / IANA | windows-1258 |
---|---|
Language(s) | Vietnamese, English |
Created by | Microsoft |
Standard | WHATWG Encoding Standard |
Classification | extended ASCII, Windows-125x |
Based on | Windows-1252 |
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.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 |
NUL 0000 |
SOH 0001 |
STX 0002 |
ETX 0003 |
EOT 0004 |
ENQ 0005 |
ACK 0006 |
BEL 0007 |
BS 0008 |
HT 0009 |
LF 000A |
VT 000B |
FF 000C |
CR 000D |
SO 000E |
SI 000F |
1_ 16 |
DLE 0010 |
DC1 0011 |
DC2 0012 |
DC3 0013 |
DC4 0014 |
NAK 0015 |
SYN 0016 |
ETB 0017 |
CAN 0018 |
EM 0019 |
SUB 001A |
ESC 001B |
FS 001C |
GS 001D |
RS 001E |
US 001F |
2_ 32 |
SP 0020 |
! 0021 |
" 0022 |
# 0023 |
$ 0024 |
% 0025 |
& 0026 |
' 0027 |
( 0028 |
) 0029 |
* 002A |
+ 002B |
, 002C |
- 002D |
. 002E |
/ 002F |
3_ 48 |
0 0030 |
1 0031 |
2 0032 |
3 0033 |
4 0034 |
5 0035 |
6 0036 |
7 0037 |
8 0038 |
9 0039 |
: 003A |
; 003B |
< 003C |
= 003D |
> 003E |
? 003F |
4_ 64 |
@ 0040 |
A 0041 |
B 0042 |
C 0043 |
D 0044 |
E 0045 |
F 0046 |
G 0047 |
H 0048 |
I 0049 |
J 004A |
K 004B |
L 004C |
M 004D |
N 004E |
O 004F |
5_ 80 |
P 0050 |
Q 0051 |
R 0052 |
S 0053 |
T 0054 |
U 0055 |
V 0056 |
W 0057 |
X 0058 |
Y 0059 |
Z 005A |
[ 005B |
\ 005C |
] 005D |
^ 005E |
_ 005F |
6_ 96 |
` 0060 |
a 0061 |
b 0062 |
c 0063 |
d 0064 |
e 0065 |
f 0066 |
g 0067 |
h 0068 |
i 0069 |
j 006A |
k 006B |
l 006C |
m 006D |
n 006E |
o 006F |
7_ 112 |
p 0070 |
q 0071 |
r 0072 |
s 0073 |
t 0074 |
u 0075 |
v 0076 |
w 0077 |
x 0078 |
y 0079 |
z 007A |
{ 007B |
| 007C |
} 007D |
~ 007E |
DEL 007F |
8_ 128 |
€ 20AC |
‚ 201A |
ƒ 0192 |
„ 201E |
… 2026 |
† 2020 |
‡ 2021 |
ˆ 02C6 |
‰ 2030 |
‹ 2039 |
Œ 0152 |
|||||
9_ 144 |
‘ 2018 |
’ 2019 |
“ 201C |
” 201D |
• 2022 |
– 2013 |
— 2014 |
˜ 02DC |
™ 2122 |
› 203A |
œ 0153 |
Ÿ 0178 | ||||
A_ 160 |
NBSP 00A0 |
¡ 00A1 |
¢ 00A2 |
£ 00A3 |
¤ 00A4 |
¥ 00A5 |
¦ 00A6 |
§ 00A7 |
¨ 00A8 |
© 00A9 |
ª 00AA |
« 00AB |
¬ 00AC |
SHY 00AD |
® 00AE |
¯ 00AF |
B_ 176 |
° 00B0 |
± 00B1 |
² 00B2 |
³ 00B3 |
´ 00B4 |
µ 00B5 |
¶ 00B6 |
· 00B7 |
¸ 00B8 |
¹ 00B9 |
º 00BA |
» 00BB |
¼ 00BC |
½ 00BD |
¾ 00BE |
¿ 00BF |
C_ 192 |
À 00C0 |
Á 00C1 |
 00C2 |
Ă 0102 |
Ä 00C4 |
Å 00C5 |
Æ 00C6 |
Ç 00C7 |
È 00C8 |
É 00C9 |
Ê 00CA |
Ë 00CB |
̀ 0300 |
Í 00CD |
Î 00CE |
Ï 00CF |
D_ 208 |
Đ 0110 |
Ñ 00D1 |
̉ 0309 |
Ó 00D3 |
Ô 00D4 |
Ơ 01A0 |
Ö 00D6 |
× 00D7 |
Ø 00D8 |
Ù 00D9 |
Ú 00DA |
Û 00DB |
Ü 00DC |
Ư 01AF |
̃ 0303 |
ß 00DF |
E_ 224 |
à 00E0 |
á 00E1 |
â 00E2 |
ă 0103 |
ä 00E4 |
å 00E5 |
æ 00E6 |
ç 00E7 |
è 00E8 |
é 00E9 |
ê 00EA |
ë 00EB |
́ 0301 |
í 00ED |
î 00EE |
ï 00EF |
F_ 240 |
đ 0111 |
ñ 00F1 |
̣ 0323 |
ó 00F3 |
ô 00F4 |
ơ 01A1 |
ö 00F6 |
÷ 00F7 |
ø 00F8 |
ù 00F9 |
ú 00FA |
û 00FB |
ü 00FC |
ư 01B0 |
₫ 20AB |
ÿ 00FF |
Letter Number Punctuation Symbol Other Undefined 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:
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8_ 128 |
||||||||||||||||
9_ 144 |
||||||||||||||||
A_ 160 |
NBSP 00A0 |
¡ 00A1 |
¢ 00A2 |
£ 00A3 |
¤ 00A4 |
¥ 00A5 |
¦ 00A6 |
§ 00A7 |
œ 0153 |
© 00A9 |
ª 00AA |
« 00AB |
¬ 00AC |
SHY 00AD |
® 00AE |
¯ 00AF |
B_ 176 |
° 00B0 |
± 00B1 |
² 00B2 |
³ 00B3 |
Ÿ 0178 |
µ 00B5 |
¶ 00B6 |
· 00B7 |
Œ 0152 |
¹ 00B9 |
º 00BA |
» 00BB |
¼ 00BC |
½ 00BD |
¾ 00BE |
¿ 00BF |
Letter Number Punctuation Symbol Other Undefined Differences from Windows-1258
References
- "Code page 1258 information document". Archived from the original on 2016-03-03.
- "CCSID 1258 information document". Archived from the original on 2014-11-29.
- "CCSID 5354 information document". Archived from the original on 2014-11-29.
- Kaplan, Michael S. (2005-04-19). "A few of the gotchas of MultiByteToWideChar". Sorting it all out.
- Steele, Shawn (1998-04-15). "cp1258 to Unicode table". Microsoft.
- Unicode mappings of windows 1258 with "best fit"
- Code Page CPGID 01258 (pdf) (PDF), IBM
- Code Page CPGID 01258 (txt), IBM
- International Components for Unicode (ICU), ibm-1258_P100-1997.ucm, 2002-12-03
- International Components for Unicode (ICU), ibm-5354_P100-1998.ucm, 2002-12-03
- "Code page 1129 information document". Archived from the original on 2010-09-21.
- "CCSID 1129 information document". Archived from the original on 2016-03-27.
- "CCSID 1163 information document". Archived from the original on 2014-11-29.
- Lunde, Ken. "Appendix L: Vietnamese Character Sets" (PDF). CJKV Information Processing (2nd ed.). ISBN 978-0-596-51447-1.
- Code Page CPGID 01129 (pdf) (PDF), IBM
- Code Page CPGID 01129 (txt), IBM
- International Components for Unicode (ICU), ibm-1129_P100-1997.ucm, 2002-12-03
- Code Page CPGID 01163 (pdf) (PDF), IBM
- Code Page CPGID 01163 (txt), IBM