我如何得到十六进制类型的数据使用下面的命令

本文关键字:命令 数据 何得 十六进制 类型 | 更新日期: 2023-09-27 17:50:38

我想使用getstring获得十六进制类型的数据,但我不太了解c#。如何修改代码来实现该功能?我有一个设备不断发送十六进制数据到我的PC通过插座。我发现下面的套接字程序可以接收十六进制类型的数据,但是后来接收数据的显示完全是混乱的代码,没有任何意义。我不知道是我用错了数据类型还是有其他问题。谁能帮我解决这个问题,非常感谢!

我根据建议修改了我的程序,它给了我一些我想要的字符串,但后来一个000000的序列被打印出来,它从来没有停止过。为什么会这样呢?

 public void ReceiveMsg()
    {
        while (true)
        {
            byte[] data = new byte[1024];
            int recv = newclient.Receive(data);
            Encoding.UTF8.GetString(data, 0, recv);
            string hexString = BitConverter.ToString(data).Replace("-", string.Empty);
            //string stringdata = Encoding.UTF8.GetString(data, 0, recv);
            showMsg(hexString + "'r'n");
        }
    }

我如何得到十六进制类型的数据使用下面的命令

该语句将把字节数组转换为字符串。

string stringdata = Encoding.UTF8.GetString(data, 0, recv);

下面的代码将字节数组转换为十六进制字符串

StringBuilder hexString = new StringBuilder(data.Length * 2);
foreach (byte b in data)
   hexString.AppendFormat("{0:x2}", b);

或者

string hexString = BitConverter.ToString(data);