编码方式就分两类:ANSI编码、Unicode编码。这两类编码都兼容ASC码。
-------------------------------------------------------------------------------------------------------
ANSI编码:
ANSI编码是指各国制订的自己文字的编码: 中国大陆: gb2312 -> GBK -> GB18030
中国台湾省:big5(繁体)
韩国:Euc-kr
日本:Shift_JIS
等等……
ANSI编码中:英文用一个字节(兼容ASC码),各国自己的文字用二到四个字节。不同国家的编码互不兼容。
gb2312和GBK中汉字占两个字节。
我国最新的国家强制标准为:GB18030-2000,包含27533个汉字。用一、二、四字节编码。
--------------------------------------------------------------------------------------------------------
Unicode编码
Unicode是一套全球统一的编码规范,共110多万个字符。
UTF-8、UTF-16、UTF-32分别是Unicode的三种不同存储方式,具体情况如图所示:
UTF-8的具体存储方式如下:
--------------------------------------------------------------------------------------------------
微软的宽字节:指Unicode编码,存储方式采用UTF-16。因为只有2字节和4字节两种情况,故用wchar_t,占两个字节。
多字节:指ANSI编码。由于英文占一个字节,所以用char,占一个字节。