服务器传回数据编码UTF8,直接拷贝会导致内容更改
2015-10-01 16:42
337 查看
strRetData += szBuffer;操作后数据变化:
char[] szBuffer
0x0050E360 6f 22 3a 7b 22 63 75 73 74 6f 6d 4e 61 6d 65 22 o":{"customName"
0x0050E370 3a 22 e6 a0 87 e5 87 86 e7 89 88 22 2c 22 63 75 :"?????????","cu
0x0050E380 73 74 6f 6d 52 65 66 65 72 65 6e 63 65 22 3a 22 stomReference":"
CString strRetData
0x03023250 74 00 6f 00 6d 00 4e 00 61 00 6d 00 65 00 22 00 t.o.m.N.a.m.e.".
0x03023260 3a 00 22 00 cd 93 e7 56 6f 56 17 94 3f 00 2c 00 :.".???VoV.??.,.
0x03023270 22 00 63 00 75 00 73 00 74 00 6f 00 6d 00 52 00 ".c.u.s.t.o.m.R.
解决办法:
char[] szBuffer
0x0050E360 6f 22 3a 7b 22 63 75 73 74 6f 6d 4e 61 6d 65 22 o":{"customName"
0x0050E370 3a 22 e6 a0 87 e5 87 86 e7 89 88 22 2c 22 63 75 :"?????????","cu
0x0050E380 73 74 6f 6d 52 65 66 65 72 65 6e 63 65 22 3a 22 stomReference":"
CString strRetData
0x03023250 74 00 6f 00 6d 00 4e 00 61 00 6d 00 65 00 22 00 t.o.m.N.a.m.e.".
0x03023260 3a 00 22 00 cd 93 e7 56 6f 56 17 94 3f 00 2c 00 :.".???VoV.??.,.
0x03023270 22 00 63 00 75 00 73 00 74 00 6f 00 6d 00 52 00 ".c.u.s.t.o.m.R.
解决办法:
while((nRead = pHttpFile->Read(szBuffer, sizeof(szBuffer)-1)) > 0) { szBuffer[nRead] = '\0'; int nLen = MultiByteToWideChar(CP_UTF8, NULL, szBuffer, -1, NULL,NULL); TCHAR* pwData = new TCHAR[nLen]; MultiByteToWideChar(CP_UTF8, NULL, szBuffer, -1, pwData, nLen); strRetData += pwData; delete pwData; }
相关文章推荐
- zw版【转发·台湾nvp系列Delphi例程】HALCON DispCross
- 黑马程序员—面向对象知识总结(二)
- C结构体之位域(位段)
- php oop-1
- powerpc uboot链接脚本大改造
- hdu 5473 There was a kingdom(dp+几何)
- sublime快捷键和插件推荐
- windows 和 Ubuntu双系统修改启动顺序
- android-----自定义ToggleButton
- BZOJ2662: [BeiJing wc2012]冻结
- c++单例模式(线程安全)
- js中关于value的一个小知识点(value既是属性也是变量)
- Lucas 定理
- c#写的一个html模板方案,不知道大家在asp.net上面使用的是不是也是这个原理
- zw版【转发·台湾nvp系列Delphi例程】HALCON SetLineStyle2
- zw版【转发·台湾nvp系列Delphi例程】HALCON SetLineStyle1
- 国庆弱校 Carries
- 程序员所要具备的基本素质
- Java多线程1:进程与线程概述
- matlab最简单程序模板