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