SERIAL PORT不接受阿拉伯字母?

时间:2017-07-04 11:04:16

标签: c#

string recievedData = ExecCommand(port, "AT", 300, "No phone connected");
recievedData = ExecCommand(port, "AT+CMGF=1", 300, "Failed to set message format.");
String command = "AT+CMGS=\"" + PhoneNo + "\"";
recievedData = ExecCommand(port, command, 300, "Failed to accept phoneNo");
command =  "عربي"+ char.ConvertFromUtf32(26) + "\r";
recievedData = ExecCommand(port, command, 3000, "Failed to send message");

代码用英语运行得非常好 代码发送??????? 阿拉伯语字符

1 个答案:

答案 0 :(得分:2)

SerialPort的默认编码是Encoding.ASCII。 您可以将编码设置为UTF32。或者将字符串转换为字节并以这种方式发送。

Encoding enc = new UTF8Encoding(true, true);
YourPort.Encoding = enc;

var bytes = Encoding.Unicode.GetBytes("عربي");