您的位置:首页 > 编程语言 > C语言/C++

多字节字符集和宽字节字符集区别

2016-03-30 10:02 423 查看
多字节字符集 字符编码可能是1个字节 也可能是2个字节
ascii码占用1个字节存储
中文(unicode)等 占用2个字节

IT学吧 16进制编码 73 84 -47 -89 -80 -55 0  16进制最高位为1 代表负数 当存在负数则会把两个负数当做一个中文字符
73-I  1字节
84-T  1字节
-47 -89 -学  2字节
-80 -55 -吧  2字节
0 -\0         这总的7个字节

宽字节字符集 每个字符编码都是2个字节
ascii 也变成2字节  在原先字节前补充0x00  结束符以2个\0代表结束  (不然0x00就是代表\0 当查找到ascii就直接结束 )
字符串解释都是两个字符为单位进行解释,速度快
IT学吧  16进制 00 73 00 84 5B 66 54 27 00 00
sizeof = 10
只能调用wcslen(“IT学吧”) =  4   遇到\0\0结束
不能用 strlen 遇到\0 就结束了

两者兼容
“”多字节字符   L""  unicode字符 
_T来兼容两者 是个宏 定义了unicode则为L 不然为“”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 代码