3

メッセージの交換を許可するアプリケーションがあり、特殊文字を含む文字列を送信しようとしています

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;たが、まだ機能していません。さまざまなエンコーディングを試しました。

4

1 に答える 1

4

文字列のエンコードされたバイトをポートに書き込むと、それらは正しく送信されます。このコードはあなたのためにトリックを行います:

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);
于 2013-09-24T16:20:40.280 に答える