我正在使用 VB.NET,我需要通过串行发送和接收数据字节。这一切都很好,直到我需要发送类似 173 的内容。我正在使用子例程发送一个字节,该字节将输入作为整数并将其转换为字符以进行打印。
Private Sub PrintByte(ByVal input As Integer)
serialPort.Write(Chr(input))
End Sub
如果我尝试
PrintByte(173)
或者实际上任何高于 127 的东西都会发送 63。我觉得这有点奇怪,所以我查看了 ASCII 表,看起来 63 对应于?特点。所以我认为正在发生的事情是 VB.NET 正试图将该数字编码为一个它无法识别的字符,所以它只是打印一个?。
我应该使用什么编码,我将如何实现编码更改?