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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值