字符集,字符编码和数据结构

先来说说字符集与编码吧。

  1. 最早的是ASCII码,范围是0x00-0x7F,事实上的国际标准。
  2. 然后是ANSI字符集,也叫多字节字符系统,包括了中国大陆的GB2312,GBK,台湾的BIG5等。其中GB2312采用了两个字节编码,范围是0xA1A1-0xFEFE。由于GB2312避开了ASCII的字符范围,因此可以兼容ASCII字符,另外,GB2312中也包括拉丁字母和阿拉伯数字,但他们是全角的,以和ASCII中的半角字符相区分。
  3. 后来有了UNICODE字符集,可以将全世界的几乎所有字符都编进去。Unicode字符集有多种编码形式,如UTF-8,UTF-16,UTF-32等。
    其实UNICODE不能等同于UTF-16,但由于Windows下面的UNICODE只能是两位,因此和UTF-16的编码值是一样的。

在windows下,

char str[] = "中文";  //此时用的是ANSI字符集

wchar_t  str[] = "中文"; //此时用的是UNICODE字符集

一般来说,不会用wchar_t来存储ANSI字符集,因为ANSI字符集的大小是不定的,用wchar_t来存储的话更不方便。

参考:
[1]http://tools.jb51.net/table/gb2312
[2]http://blog.csdn.net/liyangbing315/article/details/5616643
[3]http://blog.sina.com.cn/s/blog_4d25c9870100epc1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值