[英]Convert byte array to string in C#
我是C#的新手,我建立了一个从串行端口接收字节并解析字节的应用程序。
在一种情况下,应用程序接收一个代表字符串的字节数组。 我的想法是将字节转换为字符串,然后将字符串可视化为文本框。
使用此代码:
textSerialNumber.Text = Encoding.UTF8.GetString(readData.payload, 0, readData.payload.Length);
我获得了字符串,但是有一个问题:串行端口上接收到的第一个字节是0x00(它代表ack)。 当我转换有效载荷(ack + string)时,第一个字符为NULL,文本框分配失败。
如果我修改代码以开始形成字节数组的第一个元素:
textSerialNumber.Text = Encoding.UTF8.GetString(readData.payload, 1, readData.payload.Length);
同样在这种情况下,文本框分配失败。
我尝试跳过文本框分配:
string x = Encoding.UTF8.GetString(readData.payload, 1, readData.payload.Length);
但是在这种情况下,编码也会失败。
有任何发现错误的建议吗?
提前致谢。
尝试string x = Encoding.UTF8.GetString(readData.payload, 1, readData.payload.Length - 1);
最后一个参数是count
,因此,如果从1开始,count必须少1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.