当前位置:编程学习 > C/C++ >>

C++把一汉字转换成Unicode怎么计算?

答案:已知一个汉字的unicode码(例如-20319),可以通过以下方法得到该unicode码对应的汉字:

        1,声明一个3字节长的字符数组,例如char a[3];

        2,对该数组赋值为char a[3]={unsigned(-20319)/256,unsigned(-20319)%256,0};

        3,输出直接为cout<<a<<endl;即可;

        4,也可以把字符数组直接赋值给字符串string,例如string str(a);。

        下面对步骤2进行解释,unicode码为16位(unsigned short),而字符char类型仅有8位,步骤2完成的功能就是把unicode前8位和后8位分别存放在一个字符数组不同的2字节中,由此可以想像,char型的字符串存储汉字时也应该是这样的。结尾的0表示数组的结束。

        查一个汉字的unicode码更简单,声明一个wchar_t变量,并直接赋值一个汉字,例如wchar_t ch='阿';,显示时直接cout<<ch<<endl;即可。不过编译时可能给警告。输出的文件中和普通操作一样。

上一个:C++关于构造函数和析构函数的问题
下一个:C++ 11是神马东东...?@zx5558023

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,