关于c++中中文字符串的思考

来源:互联网 发布:大数据前景 知乎 编辑:程序博客网 时间:2024/05/12 05:12

     最近了解了下中文编码问题,对什么GBK,ASCII,UNICODE编码有了初步的认识,那么应用到c++中呢,会怎么样?

     char a[]="阿瑟大三";

这么一句简单的字符数组,我们将它输出的时候会原样输出,那么我们输出a[0]呢,结果是乱码,因为中文字符时占两个字节的,那么我们输出的是它的高位,换个思路,输出(int)char[0]呢,是不是一个负数啊,查了资料才知道,原来中文字符串的最高位为1,由两个连续的最高位为1的字节决定一个中文字符。所以我们写下下面语句:

cout<<a[0]<<a[1],是不是便会输出‘阿’这个字啊!

      本文只是我的一些小小思考,有不妥之处,还望大家指正。