c++ 输出多字节汉字
字符串a按照阅读来说只有17个字符,但占用的字节数是47个字节,每一个汉字占3个字节。
输出的时候一个字节一个字节的输出,不加分割,结果是正常显示的汉字,控制台自动的将3个字节识别成一个字符显示了。
输出的时候一个字节一个字节有间隔的输出,那么是按照ascll的形式输出的为乱码。
#include <string>
#include <iostream>
#include <string.h>
#include <bitset>
using namespace std;
int main()
{
string a="爱上大欧式对哦我的hi哦啊为何东平";
cout<<a.size()<<endl;
cout<<a.length()<<endl;
for(int i=0;i!=a.size();i++)
cout<<a[i];
cout<<endl;
for(int i=0;i!=a.size();i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
结果:
47
47
爱上大欧式对哦我的hi哦啊为何东平
� � � � � � � � � � � � � � � � � � � � � � � � � � � h i � � � � � � � � � � � � � � � � � �