【发布时间】:2020-01-08 10:09:08
【问题描述】:
我正在尝试从串口读取消息。我将其作为数据字节读取。我有一个字节数组,其中包含我从串口读取的所有数据字节。 我的字节数组在转换成字符串后保存了这样一个消息字符串。
\u0006\u0001\0d\o?\"\0$?##STA\r\nSystemLevel:Run\r\nstatus:1\r\nSensor Value:12.45\r\n...... ..........\r\n停止##
一旦匹配将所有内容转换为从索引点到某个索引长度的字符字符串,我就会从字节数组中查找某些字节模式(例如起始字节)。因为我知道我想要转换的消息的长度。 例如字节[25] 到字节[185]。
我只想知道从消息字符串中读取结果值的最佳方法是什么?结果值,例如 byte[28] 到 byte[32]、byte[42] 到 byte[49]...等。
将所有需要的字节转换为字符串并解析它会更好吗?还是使用几个字节模式来获取字符更好。这是最好的方法。
【问题讨论】:
-
也许你需要 LINQ?
-
先转换成字符串再解析字符串。这将有助于避免字符编码问题。否则,您可能会遇到编码为多个字节的字符(使用 UTF8 或其他)的问题。
-
@MatthewWatson 好的,谢谢您的建议。