当前位置: 首页 > 编程语言 > C#

C#二进制数据转字符串分享

时间:2023-04-10 15:52:12 C#

C#二进制数据转字符串原来如此。我找到了一个源代码并稍作修改,这样我就可以从com6上的接收器检索数据。我收到的数据是二进制的。我想要的是将它转换为字符串,以便我可以剪切部分字符串并单独解码。我怎样才能做到这一点?源代码如下。使用系统;使用System.IO.Ports;使用系统线程;公共类PortChat{staticbool_continue;静态串行端口_serialPort;publicstaticvoidMain(){字符串名称;字符串消息;StringComparerstringComparer=StringComparer.OrdinalIgnoreCase;线程readThread=newThread(Read);//使用默认设置创建一个新的SerialPort对象。_serialPort=new串行端口();//允许用户设置适当的属性。_serialPort.PortName=SetPortName(_serialPort.PortName);_serialPort.BaudRate=SetPortBaudRate(_serialPort.BaudRate);_serialPort.Parity=SetPortParity(_serialPort.Parity);_serialPort.DataBits=SetPortDataBits(_serialPort.DataBits);_serialPort.StopBits=SetPortStopBits(_serialPort.StopBits);_serialPort.Handshake=SetPortHandshake(_serialPort.Handshake);//设置读/写超时_serialPort.ReadTimeout=1000;_serialPort.WriteTimeout=1000;_serialPort.Open();_继续=真;读线程.Start();Console.Write("姓名:");名称=Console.ReadLine();Console.WriteLine("键入QUIT退出");while(_continue){message=Console.ReadLine();如果(stringComparer.Equals("quit",message)){_continue=false;}else{_serialPort.WriteLine(String.Format(":{1}",name,message));}}readThread.Join();_serialPort.Close();}publicstaticvoidRead(){while(_continue){try{stringmessage=_serialPort.ReadLine();控制台.WriteLine(消息);}catch(TimeoutException){}}}publicstaticstringSetPortName(stringdefaultPortName){stringportName;端口名称="COM6";返回端口名;}publicstaticintSetPortBaudRate(intdefaultPortBaudRate){字符串波特率;波特率="9600";返回int.Parse(波特率);}publicstaticParitySetPortParity(ParitydefaultPortParity){字符串奇偶校验;奇偶校验=“无”;返回(奇偶校验)Enum.Parse(typeof(奇偶校验),奇偶校验);}publicstaticintSetPortDataBits(intdefaultPortDataBits){字符串数据位;数据位=“8”;返回int.Parse(dataBits);}publicstaticStopBitsSetPortStopBits(StopBitsdefaultPortStopBits){stringstopBits;stopBits="一个";返回(StopBits)Enum.Parse(typeof(StopBits),stopBits);}publicstaticHandshakeSetPortHandshake(HandshakedefaultPortHandshake){字符串握手;握手=“无”;返回(握手)Enum.Parse(typeof(握手),握手);来自端口的数据总是以二进制(字节)形式出现,所以这取决于如何解释数据假设字节是ASCII,你可以将其编码为这样的字符串:以上是C#学习的全部内容教程:C#二进制数据转字符串分享,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——byte[]binaryData;//假设binaryData包含来自端口的字节。字符串ascii=Encoding.ASCII.GetString(binaryData);本文收集自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: