C# TCP 字符串解码问题

问题描述

我写了个程序,想通过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

C# TCP 字符串解码问题的相关文章

解密-关于C语言的base64字符串解码

问题描述 关于C语言的base64字符串解码 各位大神,我现在急需将一段字符串解码的方法(C语言实现),希望各位出手援助一下. 我需要解码的字符串是: vU3xynE6ee6KymPB1cpwVGwZMrS/GZdXYBXiPNWfWktX6uq0gdIKB6yWG8dq49ywRKjCljpVipbTWyHIOEhS0jpSVuB/y4q3rWI3bvMGCWK9/rHLkUrdi4NIQLKj+hFEZbvgmWfdAyc0mvdIcjQOtRKVTFzQUekoJ5RvMAAqNt+usa

PHP处理Json字符串解码返回NULL的解决方法_php技巧

本文实例讲述了PHP处理Json字符串解码返回NULL的解决方法.分享给大家供大家参考之用.具体方法如下: 一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array:若为false,返回object.如果返回NULL,说明报错,输出json_last_error(),得到的整数值对应错误提示.如下图所示: json_last_error()比较常见的是整数4, 是json字符串在json_decode之前已不完整,所以语法

PHP安全的URL字符串base64编码和解码_php技巧

如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址.下面的方法可以解决该问题: URL安全的字符串编码: 复制代码 代码如下: function urlsafe_b64encode($string) {    $data = base64_encode($string);    $data = str_replace(array('+','/','='),array('-','_',''),$data);    return $data;

C#实现SMTP服务器,使用TCP命令实现,功能比较完善

smtp|比较|服务器 using System;using System.Text;using System.IO;using System.Net;using System.Net.Sockets;using System.Collections; namespace SkyDev.Web.Mail{ public enum MailFormat{Text,HTML}; public enum MailPriority{Low=1,Normal=3,High=5}; #region Clas

php字符串处理函数库

函数|字符串 php字符串处理函数库 AddSlashes 字符串加入斜线. 语法: string addslashes(string str); 返回值: 字符串 函数种类: 资料处理 本函数使需要让数据库处理的字符串,引号的部份加上斜线,以供数据库查询 (query) 能顺利运作.这些会被改的字符包括单引号 (').双引号 (").反斜线 backslash (\) 以及空字符 NUL (the null byte). bin2hex 二进位转成十六进位. 语法: string bin2he

第二章 字符串处理与编码不再发愁

2.1 字符串    2.1.1 字符串转换 >>> a = 123 >>> b = 1.23 >>> type(a) <type 'int'> >>> type(b) <type 'float'> >>> type(str(a)) <type 'str'> >>> type(str(b)) <type 'str'> 说明:先定义个整数和浮点数,再查看

base64图片字符串存入数据库blob字段,其中一个String.replace问题

问题描述 流程是这样的,先把数据库中的图片通过base64生成xml文件,在这一步,做了一个把rn替换成[hchhf]的操作,在解析xml文件,把base64图片字符串解码存入数据库中,这一步,做了把[hchhf]替换成rn的操作.但是现在碰到的情况是,小图片完全可以做,但是上升都2M以上或者更大的时候,到替换这一步的时候就会出错,也就是String.replace方法不能进行下去了,望各位牛人解答下.难道是字符串的replace方法有限制么?字符串过长,就不能替换?/***替换回车换行符为指定

《Python Cookbook(第3版)中文版》——6.9 编码和解码十六进制数字

6.9 编码和解码十六进制数字 6.9.1 问题 我们需要将十六进制数组成的字符串解码为字节流,或者将字节流编码为十六进制数. 6.9.2 解决方案 如果需要编码或解码由十六进制数组成的原始字符串,可以使用binascii模块.示例如下: >>> # Initial byte string >>> s = b'hello' >>> # Encode as hex >>> import binascii >>> h =

python字符串操作总结

python中有各种字符串操作,一开始python有个专门的string模块,要使用需先import string.后来从python2.0开始,string方法改用str.method()形式调用,就是直接在你的字符串变量后加方法就行了,无需import.但是为了保持向后兼容,python仍然保留了string模块,但是并不推荐用,你懂的. 但并非所有的字符串操作都用str.method()方法调用的,有些方法是python内置函数,比如计算字符串长度用len(str)而不是str.len()