c# - 向串口发送特殊字符

标签 c# winforms encoding serial-port

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

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

但我收到 isto n?o est?一个功能! (点) .

我尝试在之前放置 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);

关于c# - 向串口发送特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833160/

相关文章:

c# - 如何忽略 Entity Framework 中的非抽象基类?

c# - DateTime.ParseExact 返回当前日期

c# - 如何获取表单的截图

c# - 如果使用数据绑定(bind),组合框不允许输入自定义文本

java - 如何获取字符串作为 UTF-8 代码序列

python - 如何解码转义的 Unicode 字符?

c# - 如何验证是否调用了两种方法中的一种?

c# - JQuery 将值设置为自定义服务器控件

c# - C#中如何从特定字符串中获取子字符串

c# - 网络流接收数据与 '\0' 混合