常用代码页与BOM
常用代码页:
CP437 IBM437 OEM United States
CP1252表示West European Latin
CP932 日本
CP949 韩国
CP936表示GBK中文编码
CP54936表示GB18030编码(4 byte)
CP950表示BIG5繁体中文
WIN-1251 -> OEM-866 (Win2Dos)
WIN-1251 -> KOI8-R
1251是斯拉夫语系的编号,什么是斯拉夫语系呢?斯拉夫语系就是前苏联各国家使用的语言,现在就是俄语、乌克兰语、卢森堡语、白俄罗斯语、保加利亚语、塞尔维亚语、马其顿语等
KOI8-R 是KOI-8系列的斯拉夫文字8位元编码,供俄语及保加利亚语使用。在Unicode未流行之前,KOI8-R 是最为广泛使用的俄语编码,使用率甚至起ISO/IEC 8859-5还高。
Code Page 1200 UTF-16LE Unicode little-endian
Code Page 1201 UTF-16BE Unicode big-endian
Code Page 65000 UTF-7 Unicode
Code Page 65001 UTF-8 Unicode
Code Page 28591 ISO-8859-1 (followed by ISO-8859-2 to ISO-8859-15)
12000 utf-32 Unicode UTF-32, little endian byte order; available only to managed applications
12001 utf-32BE Unicode UTF-32, big endian byte order; available only to managed applications
28591 iso-8859-1 ISO 8859-1 Latin 1; Western European (ISO)
51936 EUC-CN EUC Simplified Chinese; Chinese Simplified (EUC)
ISO/IEC 8859编码标准中的15种字符集:
ISO/IEC 8859-n 英文别名 中文解释
ISO/IEC 8859 -1 Latin-1 西欧语言
ISO/IEC 8859 -2 Latin-2 中欧语言
ISO/IEC 8859 -3 Latin-3 南欧语言。世界语也可用此字符集显示。
ISO/IEC 8859 -4 Latin-4 北欧语言
ISO/IEC 8859 -5 Cyrillic 斯拉夫语言
ISO/IEC 8859 -6 Arabic 阿拉伯语
ISO/IEC 8859 -7 Greek 希腊语
ISO/IEC 8859 -8 Hebrew 希伯来语(视觉顺序);ISO 8859-8-I是 希伯来语(逻辑顺序)
ISO/IEC 8859 -9 Latin-5 或 Turkish 它把Latin-1的冰岛语字母换走,加入土耳其语字母
ISO/IEC 8859 -10 Latin-6 或 Nordic 北日耳曼语支,用来代替Latin-4
ISO/IEC 8859 -11 Thai 从泰国的 TIS620 标准字集演化而来
ISO/IEC 8859 -13 Latin-7 或 Baltic Rim 波罗的语族
ISO/IEC 8859 -14 Latin-8 或 Celtic 凯尔特语族
ISO/IEC 8859 -15 Latin-9 西欧语言,加入Latin-1欠缺的芬兰语字母和大写法语重音字母,以及欧元(€)符号。
ISO/IEC 8859 -16 Latin-10 东南欧语言。主要供罗马尼亚语使用,并加入欧元符号。
Windows中的Code Page,按照引用领域来划分,可以分为两类:ANSI Code Page和 OEM Code Page
1. ANSI Code Page的官网正式叫法其实是Windows Code Page。但是由于ANSI Code Page被误用的太广泛了,索性微软也就接受了此叫法,然后就叫做ANSI Code Page了。
Windows的Code Page中用的最广泛的是Windows 1252,其用于英语和西欧语言字符。Windows 1252是基于ANSI草案(ANSI draft)而设计的。
2. OEM Code Page主要是用于Windows系统中的命令行界面(console)程序,虚拟DOS。
所有的BOM(其实不建议使用):
UTF-8 EF BB BF
UTF-16 (BE) FE FF
UTF-16 (LE) FF FE
UTF-32 (BE) 00 00 FE FF
UTF-32 (LE) FF FE 00 00
UTF-7
2B 2F 76 38
2B 2F 76 39
2B 2F 76 2B
2B 2F 76 2F
UTF-1 F7 64 4C
UTF-EBCDIC DD 73 66 73
SCSU 0E FE FF
BOCU-1 FB EE 28
GB-18030 84 31 95 33
ANSI编码规则
ANSI字符编码的规则,或者是其所包含的字符的由来,主要是:
1. 0-127 (0x00-0x7F)
完全和7位编码的ASCII字符集(ASA X3.4-1963)相同
2. 128-159 (0x80-0x9F)
一些可打印字符
这部分的编码,与国际编码ISO 8859-1的做法不同,ISO 8859-1是将此部分编码用于控制字符
3. 160-255 (0xA0-0FF)
参考了ISO 8859-1中的字符
由此可以看出,ANSI中很多字符,和ISO-8859中的字符,看起来非常相似。
这就导致了很多人误以为,ANSI和ISO-8859是一回事呢。
总结:
ANSI
= Windows Code Page 1252
= Windows Codepage 1252
= Windows 1252
= CP 1252
= 共256个字符
= 0-127的ASCII + 128-159的可打印字符 + 160-255的和ISO 8859-1中类似的字符
Windows 1252和ISO 8859-1基本等同:
有点不同的是,在128-159(0x80-0x9F)的范围的值,ISO 8859-1编码为控制字符,而微软编码为可打印字符。
其它代码页:
437 — 最初的 IBM PC 代码页,实现了扩展ASCII字符集
737 — 希腊语
850 — “多语言 (Latin-1)” (西欧语言)
852 — “斯拉夫 (Latin-2)” (中欧及东欧语言)
855 — 西里尔(Cyril)字母
857 — 土耳其语
858 — 带欧元符号的“多语言”
860 — 葡萄牙语
861 — 冰岛语
863 — 法语 加拿大英语
865 — 北欧
866 — 西里尔(Cyril)字母
869 — 希腊语
874 — 泰文字母
1250 — 东欧拉丁字母
1251 — 古斯拉夫语
1252 — 西欧拉丁字母 ISO-8859-1.
1253 — 希腊语
1254 — 土耳其语
1255 — 希伯来语
1256 — 阿拉伯语
1257 — 巴尔
1258 — 越南
1254 — 土耳其语
Windows-1252与ISO-885
10000 — Macintosh Roman encoding (followed by several other Mac character sets)
10007 — Macintosh Cyrillic encoding
10029 — Macintosh Central European encoding
1200 — UCS-2LE Unicode 小端序
1201 — UCS-2BE Unicode 大端序
65000 — UTF-7 Unicode
65001 — UTF-8 Unicode
MultiByteToWideChar和WideCharToMultiByte用法详解
http://blog.csdn.net/suiyunonghen/article/details/4538455
LCID用于定义发送给浏览器的页面地区标识,它用以确定时间、货币、数字等的显示方式,类似于控制面板中的“区域设置”。
中文(中国) 2052
中文(台湾) 1028
日语 1041
韩语 1042
英语(美国) 1033
法国(标准) 1036