字符编码问题

来源:互联网 发布:js二维数组固定长度 编辑:程序博客网 时间:2024/06/14 00:19

关键字:编码集、BSTR、LPSTR、LPCSTR、LPWSTR、LPCWSTR、LPTSTR、LPCTSTR、CString

1、编码集

(1)ASCII编码集:单字节00H-7FH范围(最高位为0)

(2)扩展ASCII编码:单字节80H-FFH范围(最高位为1)

(3)GB2312:采用两个字节表示,高位字节A1-FE,低位字节A1-FE。

由于采用GB2312编码的每个字节的最高位都是1,ASCII编码的最高位都是0,所以当遇到最高位是0的字节时,根据ASCII编码表解码即可,所以与ASCII编码是兼容的;同理,可得GB2312与扩展ASCII是不兼容的。

(4)GBK:采用两个字节表示,编码范围是:0x8140-0xFEFE,GBK是对GB2312的扩展,是兼容GB2312的。

(5)GB18030:对GBK的扩展,增加了少数民族的字。

(5)ANSI(在vs中也叫作“多字节字符集”,如GB2312就属于多字节字符集):并不代表一个具体的编码,在不同系统中不一样。在简体中文windows中,代表GBK编码;在日文Windows系统中代表Shift_JIS编码。

(6)Unicode编码:每个国家的编码方式都不一样,iso为了统一,创造了UNICODE编码,UNICODE不兼容任何编码。

(7)UTF-8,UTF-16


0 0