SerialPort接收?字符编码是不对的

时间:2014-09-01 10:30:54

标签: c# serial-port xbee

在MS中的SerialPort.Write文档中说:  默认情况下,SerialPort使用ASCIIEncoding对字符进行编码。 ASCIIEncoding将大于127的所有字符编码为(char)63或'?'。要支持该范围内的其他字符,请将“编码”设置为UTF8Encoding,UTF32Encoding或UnicodeEncoding。

有谁能知道我如何将我的串口编码设置为其中一个选项?

2 个答案:

答案 0 :(得分:3)

如何使用System.IO.Ports.SerialPort.Encoding属性?

像这样:

Encoding enc = new UTF8Encoding(true, true);
YourPort.Encoding = enc;

答案 1 :(得分:2)

答案在您提问中的文字中:

  

要支持该范围内的其他字符,请将Encoding设置为UTF8Encoding,UTF32Encoding或UnicodeEncoding。

您很可能希望找到并应用正确的编码,例如Windows-1252 demonstrated here