c++ unicode转gbk注意事项,不实践,你永远不知道坑在哪里
unicode转gbk注意事项:整 标记(){静 正短 x0{0xfffe},x1{0xfeff};取2();正短 a=c<<8|d;如(a==x0)中 0;如(a==x1)中 1;中 2;}//fffe为小头.feff为大头.要用正短函数<正短()>读大头=[&](){//读两位...
·
unicode转gbk注意事项:
整 标记(){
静 正短 x0{0xfffe},x1{0xfeff};
取2();正短 a=c<<8|d;
如(a==x0)中 0;如(a==x1)中 1;中 2;
}//fffe为小头.feff为大头.要用正短
函数<正短()>读大头=[&](){//读两位,1位位读
取2();正短 p=c<<8|d;中 p;
};//fffe为小头,小头,小的在后,大的在前
//函数,要写全,类中不能直接一个动字.不得行
空 一位(){
符 e=(符)j;如(e=='\r')中;冲+=e;
}//去掉0d,要去掉0d,不然满屏的^M.
最重要的来了:
空 取2(){c=看();右();d=看();右();}
//这里的c和d必须是
c和d必须是 正 符否则成为阴阳脸.够你受的.
再一个注意:
整 d=型长(a)*2,m=15,n,k;串 b(d,'\0');
//上面串为d长是重点,这里必须是d长,不能为d+1长,否则,又是折腾人.
怎样发现上面的毛病呢?因为老是多了一个^@,^@就是一个0的表示,代表,这里多了.阴阳险,主要就是发现了前面的都是FF前缀.这时估计可能就是符搞成负的了.结果它乱搞,没得事就搞成FF..,FF..又有一个你必须要知道的超级大坑,unicode文件,必须用二进制模式打开,否则打开不全.切记切记!
写一个程序,就会遇到无数个坑.简直成了坑神!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)