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文件,必须用二进制模式打开,否则打开不全.切记切记!
写一个程序,就会遇到无数个坑.简直成了坑神!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现