У меня есть приложение, которое позволяет обмениваться сообщениями, и я пытаюсь отправить строку со специальными символамиОтправить специальные символы в последовательный порт
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;
, но он пока не работает. Я пробовал разные кодировки.
Как и где вы получите упомянутый выход? Правильно ли кодировка установлена? – x29a
Вам необходимо поместить эту кодировку как на отправителя, так и на приемник. Если приемник считывает байты и преобразует их в строку, вам нужно использовать 'Encoding.Utf8.GetString', а не' Encoding.ASCII.GetString'. –
@ x29a Я создал приложение для обмена сообщениями. Этот вывод имеет кодировку по умолчанию (ASCII?). Если я использую 'comPort1.Encoding = Encoding.UTF8;' Я получаю то же самое, но '?' - это другой символ – mafap