SerialPort中ReadTo 如何读取二进制?

tianyaxiao 2012-02-08 10:59:33
默认情况下,SerialPort中ReadTo只能指定string,能否用来读取二进制?
...全文
421 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-02-08
  • 打赏
  • 举报
回复
用ReadTo的话,你就转换就行了,如果要直接读取byte,如下

int n = SerialPort.BytesToRead;
byte[] buf = new byte[n];
SerialPort.Read(buf, 0, n);
jimh 2012-02-08
  • 打赏
  • 举报
回复
SerialPort.ReadTo使用指定的编码格式把Byte[]转换成字符串然后输出,
应该使用SerialPort.Read (Byte[], Int32, Int32)
从 SerialPort 输入缓冲区读取一些字节并将那些字节写入字节数组中指定的偏移量处。
tianyaxiao 2012-02-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
你把string转为byte[]不就行了,真是的
[/Quote]
求详细
bdmh 2012-02-08
  • 打赏
  • 举报
回复
你把string转为byte[]不就行了,真是的
tianyaxiao 2012-02-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jimh 的回复:]

SerialPort.ReadTo使用指定的编码格式把Byte[]转换成字符串然后输出,
应该使用SerialPort.Read (Byte[], Int32, Int32)
从 SerialPort 输入缓冲区读取一些字节并将那些字节写入字节数组中指定的偏移量处。
[/Quote]
不知道长度,并且要实现阻塞(遇到指定结束字节码作为结束条件)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧