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

发布网友 发布时间:2022-04-24 13:57

我来回答

1个回答

热心网友 时间:2023-10-15 09:05

已知一个汉字的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;即可。不过编译时可能给警告。输出的文件中和普通操作一样。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com