将特殊字符发送到串行端口

本文关键字:串行端口 特殊字符 | 更新日期: 2023-09-27 18:31:33

>我有一个允许交换消息的应用程序,我正在尝试发送带有特殊字符的字符串

string my_str = "isto não está a funcionar! (pt)";
comPort1.Write(my_str);

但我收到isto n?o est? a funcionar! (pt).

我之前尝试过comPort1.Encoding = Encoding.UTF8;,但它还没有工作。我尝试了不同的编码。

将特殊字符发送到串行端口

如果将字符串的编码字节写入端口,它们将被正确发送。这段代码将为您解决问题:

string my_str = "isto não está a funcionar! (pt)";
byte[] my_bytes = System.Text.Encoding.UTF8.GetBytes(str);
comPort1.Write(my_bytes, 0, my_bytes.Length);