在MS中的SerialPort.Write文档中说: 默认情况下,SerialPort使用ASCIIEncoding对字符进行编码。 ASCIIEncoding将大于127的所有字符编码为(char)63或'?'。要支持该范围内的其他字符,请将“编码”设置为UTF8Encoding,UTF32Encoding或UnicodeEncoding。
有谁能知道我如何将我的串口编码设置为其中一个选项?
答案 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。