问题描述
我写了个程序,想通过TCP客户端方式接收16进制字符串然后,将字符串分别读取判断出来,但现在的代码只能独处首个16进制数的判断,最终想实现的是,比方接收到FAFBXXFE,FA是头码,FE是尾码,FB判断是那种类型,我们定义他为电压标识,XX是变量,判断是电压后XX的变量显示出来,研究了好久没能搞定,请高手帮个忙。while(!isEndClientListener){byte[]receiveData=newbyte[client.ReceiveBufferSize];//intiRx=client.Receive(receiveData);//stringszData="";//stringif(receiveData[0]==0xfa){form1.FeedBack(kk);}elseif(receiveData[0]==0xfb){form1.FeedBack(kk1);}
解决方案
解决方案二:
1、变量应该是float吧,因为不只有电压,还有可能是其他值哪么你至少得有4位16进制数,然后用ieee754转换2、XX直接从16进制转成10进制数就行
解决方案三:
如果你可以用if(receiveData[0]==0xfa){来判断是否是头码的话那么收到的绝不是字符串FAFBXXFE而是{0xfa,0xfb,0x....,0xfe}这样的字节数组请不要搞错方向
解决方案四:
谢谢我在研究下
解决方案五:
如果头尾是固定的话可以定义结构体用结构体解析头
时间: 2024-10-23 18:14:14