在 .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转换为字节数组。有没有更有效的方法?

在 .NET 中,为什么 SerialPort.ReadExisting() 返回一个字符串而不是一个字节数组

SerialPort有一个读取重载,可以读取指定的Byte[]

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

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

充其量,此方法将使您不必进行转换(因为您将读取字节数组)。