c++ unicode转gbk注意事项,不实践,你永远不知道坑在哪里

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文件,必须用二进制模式打开,否则打开不全.切记切记!
写一个程序,就会遇到无数个坑.简直成了坑神!

posted @   zjh6  阅读(29)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示