英文编码(单字节字符集,码值范围0~127):字节最高位是0
ASCII编码,用于英文字符。
中文编码(双字节字符集):首字节(8位)的最高位是1。可依据首字节最高位来判断中英文。
GB2312, 旧版,6763个汉字。
GBK, 中文字符升级版,21000多个汉字。
国际编码:Unicode编码, 各国语言字符
不同编码方式,值不同,如“中”的GBK编码:0xD6D0,Unicode编码:0x4E2D
Unicode编码的3种实现方式:UTF8、UTF16、UTF32。
UTF8变长编码,智能分配1-4个字节。UTF16定长编码,2个字节。UTF32定长编码,4个字节。
UTF16编码,中英文字符都占2个字节。其定义的类型称为宽字符类型wchar_t,使用方式如下
wchar_t d[] = L"中国"; //宽字符类型
wcout.imbue(locale("chs"));//Windows系统,语言设置为简体中文。Unicode转GBK
wcout << d; //宽字符输出,中国