编码标准:ASCII、GBK、Unicode(UTF8、UTF16、UTF32)

英文编码(单字节字符集,码值范围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; //宽字符输出,中国

 

posted @ 2018-12-07 11:51  夕西行  阅读(1552)  评论(0编辑  收藏  举报