在.NET中,为什么SerialPort.ReadExisting()返回String而不是字节数组?

时间:2013-12-17 14:08:20

标签: c# .net serial-port

在.NET SerialPort类中,ReadExisting()方法返回String而不是字节数组。考虑到RS232通常用于移动7或8位值(这可能是也可能不是可打印字符),这似乎是一个奇怪的选择。这个选择有原因吗?

目前我最终使用System.Text.Encoding.GetBytes(recvd_data)String转换为字节数组。有更有效的方法吗?

2 个答案:

答案 0 :(得分:6)

SerialPort有一个Read重载,它读入指定的Byte[]

http://msdn.microsoft.com/en-us/library/ms143549(v=vs.100).aspx

答案 1 :(得分:3)

我已广泛使用SerialPort,我发现读取一系列字节的最佳方法是多次调用ReadByte()。是的,你一次读取一个字节,但我发现保持简单避免了问题。

最好的方法是,这种方法可以让你不必进行转换(因为你会读入一个字节数组)。

相关问题