ASCII转十六进制

[基础]MFC 串口收到了16进制的数组,如何显示在对话框里嵌入式wince MFC。?123456789101112131415161718192021DWORD WINAPI ThreadProc1(LPVOID lpParameter){ CTrackDisplayDlg* pMainDlg = (CTrackDisplayDlg*)lpParameter; UINT32 u32TxLength, u32RxLength; UINT8 u8Result; UCHAR m_abyTransmitBuf[8];//x UCHAR m_pcCommand[8];//y CFile file1,file; UINT32 fileLength; UCHAR* tempBuf; UCHAR* tempBuf1; while(1) { u32TxLength=0; memset(m_abyTransmitBuf,0,8);/收 memset(m_pcCommand,0,8) ; /发 u8Result=pMainDlg->TxCommand( (UINT8 *)m_abyTransmitBuf, u32TxLength, (UINT8 *)m_pcCommand, u32RxLength, pMainDlg->m_Uart,pMainDlg->m_CRC);通过串口助手发16进制的数组 AA BB CC AA BB CC AA BB ,从m_pcCommand内存中已经读到,就是显示不出来。。目前想实现把接收到的数据显示在对话框上,用listbox::inserString等等都可以。小弟才学习MFC没多久,只知道16进制的数组要转换成ASCII码,才能显示,请问是这样吗,能否给出代码? 如果不是这样,请大神给出意见。回答: [基础]MFC 串口收到了16进制的数组,如何显示在对话框里把你的数据格式化成字符串,然后再显示即可。试过format了,全是乱码 =。=! CString str;str.Format(_T("%s"),m_pcCommand);//char m_pcCommand 一个一个的Format,比如for(size_t i = 0; i != MAX_LENGTH; ++i){ str.AppendFormat(_T("%02X"), m_pcCommand[i]);}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASCII 十六进制 换工具 简单计算器:可进行简单的四则运算,支持小键盘输入! 进制换:数值型的常用进制的相互换: (2、8、16)10 及 216 说明:由于数值型换函数为自行编写,所以支持包括小数部分. (适用于计算器等级考级的笔试基础题) 字符换: 可换多个字符为ASCII码(十进制)及十六进制,且可加入前置及后置字符。 字符ASCII(即字符的十进制): 其中字符换为ASCII码中,如果字符为汉字(即双字节) 可选择:正数、负数或者字节分离三种表示方式 利如汉字"中" 正数:54992 负数:-10544 字节分离:214,208 说明: 如果包含汉字字符,且选了负数或字节分离表示方式, 请不要使用"-"或","来作为前、后置符,以免逆操作时引起错误 ASCII字符:就是上面的逆操作,这时只要输入对应的ASCII码就能换为字符 说明: 1.由于本程序有判断功能,所以可不用选择汉字表达方式, 即您输入54992或-10544或214,208都能换为汉字"中" 2.如果进行待逆操作的ASCII码包含分隔,请必须在前置和后置符框输入对应字符 例如:%-15133;%-17725;想逆向为字符,须在前置符填入% 后置符填入; %-15133 %-17725 则前置符填入% 后置符输入空格 注意要为字符的对应数值一定有要间隔符 例如:%-15133%-17725是没法进行换的,而应该像上面一样改为%-15133 %-17725 即间隔至少(默认)为空格符 字符换为十六进制及其逆操作与上面基本相同 说明:例如在前置符加了%即可求UTF-8值 键盘ASCII查询:可查键盘按键的十进制与十六进制值。 (例如可查询F1-F12,Shift,Ctrl,Alt,回车,退格等键值) 字符与Base64互:字符与Base64编码的互,可自定义密钥,以达到简单的加密! 子网划分辅助: IP二进制:把IP地址或子网掩码化为二进制形式. 二进制数操作:把上面化到的IP二进制进行取反、与、或操作。 说明:普通二进制(即没有包括".")也可进行操作。 IP二进制十进制:即把上面得到的二进制结果重新换为十进制方式。 常见问题: 1.问:“进制换”与“字符换”都具有十六进制的操作,有何不同? 答:“进制换”只能换数值型,而“字符换”是把该字符串一位一位 分别当作字符来换! 2."字符换"中想把对应的值化为对应的字符,如果包括分隔符,需要手工 填入。 (详见上面的:ASCII字符) 3."字符换"中点击“键盘的ASCII查询”(即有键盘图标的那个按钮后) 该按钮会自动隐藏,然后可按键盘键来得到对应的值 查询完毕,可单击下面的状态栏恢愎(键盘图标的那个按钮出现) 4.关于子网划分辅助的使用: 在这里给予一段(黑客X档案中iqst)如何利用子网掩码得到网络、主机地址的文章节选: 如下: 如何用子网掩码得到网络、主机地址 (1)将IP地址与子网掩码换成二进制; (2)将二进制形式的IP地址与子网掩码做“与”运算,将答案化为十进制便得到网络地址; (3)将二进制形式的子网掩码取“反”; (4)将取“反”后的子网掩码与IP地址做“与”运算,将答案化为十进制便得到主机地址。 通过上面的一段大家应该有所了解了,如果还不太明白可勾选“示范”来查看。 我把上面操作的各个模块都独立出来而不是一步求出结果, 目的是让大家能更方便的使用各个步聚来完成类似的需求!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值