我用spcomm采集数据,返回的是十进制ascii码,其中有大于128的数据,转换成string时出现乱码,要怎么解决,求大家帮忙啊
var
hexbuf:array[1..2048] of byte;
i:integer;
recedata:Pchar;begin move(buffer^,pchar(@hexbuf)^,bufferlength);
//@hexbuf 中存储的十进制ascii码 @hexbuf(36,84,50,48,49,49,48,54,50,50,49,48,52,52,176,67,48,49,164,48,176.......) recedata:=@hexbuf;
//就是在这一步时,recedata中出现乱码( recedata=$T201106221048疌01??4595??癈02??3743??癈03??3729??癈04??3887??癈05??3396??癈 )...
var
hexbuf:array[1..2048] of byte;
i:integer;
recedata:Pchar;begin move(buffer^,pchar(@hexbuf)^,bufferlength);
//@hexbuf 中存储的十进制ascii码 @hexbuf(36,84,50,48,49,49,48,54,50,50,49,48,52,52,176,67,48,49,164,48,176.......) recedata:=@hexbuf;
//就是在这一步时,recedata中出现乱码( recedata=$T201106221048疌01??4595??癈02??3743??癈03??3729??癈04??3887??癈05??3396??癈 )...
解决方案 »
- dxdbtreelist 如何作到 双击时不展开也不合并
- ASCII怎么转成10进制啊。。
- 急! 在dbgrideh中, 当行(ROW,也就是记录)改变后,触发那些事件/?((就是当dbgrideh的换行后,俺要处理一些代码,请问写在那里?)
- 一个简单的问题,大家来帮忙!关于批量更新!
- 如何得到ACTIVEXFORM里TWEBBROWSER里的HTML页面里的一个文本编辑框的HANDLE
- 谁有《Delphi 6 开发人员指南》的源代码?(不断加分)
- 简单问题...... up有分!!!!!!!!!!!
- 谁有asksky的论坛相关资料,包括他的一切的一切~!
- Delphi对多线程的支持不好?不好到什么地步?谁能跟我说说呢?谢谢
- 怎样在程序中动态加BDE别名(sqlserver6.5)
- 如何将Pbyte类型中的图片存入bitmap中。
- 陷阱式API HOOK 重入??
hexbuf:array[1..2048] of byte;
i:integer;
recedata:Pchar;begin move(buffer^,pchar(@hexbuf)^,bufferlength);
//@hexbuf 中存储的十进制ascii码 @hexbuf(36,84,50,48,49,49,48,54,50,50,49,48,52,52,176,67,48,49,164,48,176.......)
recedata:=@hexbuf;
//就是在这一步时,recedata中出现乱码( recedata=$T201106221048疌01??4595??癈02??3743??癈03??3729??癈04??3887??癈05??3396??癈 ...)
如果不是09以上的版本,那多半就是收、发2端的字符集不一样了,用MultiByteToWideChar和WideCharToMultiByte转换一下就可以了,常用的代码页一般为936/950(简体/繁体)等等,具体就参考MSDN吧。