繁体   English   中英

在C#中将字节数组转换为字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM