我如何得到十六进制类型的数据使用下面的命令
本文关键字:命令 数据 何得 十六进制 类型 | 更新日期: 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);