vs中的多字节与unicode

ANSI(即MBCS): 为多字节字符集,它是不定长表示世界文字的编码方式。ANSI表示英文字母时就和ASCII一样,但表示其他文字时就需要用多字节(在处理中文字符时 使用双字节方式)。ANSI字符采用8bit,能表示256种字符,表示26个英文字母是绰绰有余的,但是表示汉字,韩国语,日语等有着成千上万个字符的非西方字符肯定就不够了。

Unicode: 不管是英文字符还是中文字符都是采用双字节方式表示。比如字符 ‘A’ 在 ASCII 下面用一个字节表示,而在Unicode下面用两个字节表示,其中高字节用 ‘0’ 填充;字符汉字 “你” 在ASCII下面用两个字节表示,而在Unicode下面也是用两个字节表示。Unicode 的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。

Windows NT的所有与字符有关的函数都提供了两种方式的版本,而Windows 9x只支持ANSI方式。如果编码方式为ANSI,_T不起任何作用;如果编码方式为Unicode,编译器会把"你好!"以Unicode方式进行保存。_T和_L的区别在于,_L不管你是以什么方式编译,一律以Unicode方法保存。

ANSI:windows系统中ANSI一般指在地化的字符集及其编码方式,根据系统版本及相关语言选项而有所不同
unicode中的utf-8:英文一个字节、汉字三个字节;
unicode中的utf-16:英文和汉字均为两个字节;

参考:
1.https://blog.csdn.net/Aliven888/article/details/109708358
2.https://blog.csdn.net/qq_28437139/article/details/104199308
3.https://blog.csdn.net/SarahZhang0104/article/details/51346999
4.https://www.cnblogs.com/linkstree/p/5677883.html
5.https://www.zhihu.com/question/20650946

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值