在 .NET 中,为什么 SerialPort.ReadExisting() 返回一个字符串而不是一个字节数组
本文关键字:一个 字符串 数组 字节数 字节 返回 NET 为什么 ReadExisting SerialPort | 更新日期: 2024-10-24 23:00:28
在.NET SerialPort类中,ReadExisting()
方法返回String
而不是字节数组。考虑到RS232通常用于移动7位或8位值,这可能是也可能不是可打印字符,这似乎是一个奇怪的选择。这个选择有原因吗?
目前,我最终使用System.Text.Encoding.GetBytes(recvd_data)
将String
转换为字节数组。有没有更有效的方法?
SerialPort
有一个读取重载,可以读取指定的Byte[]
。
http://msdn.microsoft.com/en-us/library/ms143549(v=vs.100).aspx
我已经广泛使用SerialPort
,我发现读取一系列字节的最佳方法是多次调用ReadByte()
。是的,您一次读取一个字节,但我发现保持简单可以避免问题。
充其量,此方法将使您不必进行转换(因为您将读取字节数组)。