MFC中输出String类型(内容为01串)出现乱码

相关代码如上程序运行结果是乱码,查了好久也没搞懂为什么... 相关代码如上
程序运行结果是乱码,查了好久也没搞懂为什么
展开
 我来答
hf7022129
2015-06-13 · TA获得超过947个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:206万
展开全部
跟你的编码方式有关,将二进制位流与字符串之间的转换,必须使用同一种编解码方法,就是说字符串转化为二进制位时使用的何种编码方式,在将二进制解码为字符串时,要使用对应的解码方式。出现错位,不对应就是乱码。常用的有ascii码,gb2312,utf8等,楼主自行查阅。
bhtzu
推荐于2018-04-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4153万
展开全部

UNICODE模式吧,这个模式下CString其实是WCHAR, 在Format中导入char会出问题。

简单解决方法,在Format之前,用一个临时CString中转一下:

CString tmp;
for(...)
{
...
    tmp = charHuffamnTable[Ascii[i].letter];
    str.Format(xx,xx,xx,tmp);//charHuffamnTable[Ascii[i].letter] -》 tmp

利用CString赋值的自动编码转换就可以了。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式