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");
代码用英语运行得非常好 代码发送??????? 阿拉伯语字符
答案 0 :(得分:2)
SerialPort的默认编码是Encoding.ASCII。 您可以将编码设置为UTF32。或者将字符串转换为字节并以这种方式发送。
Encoding enc = new UTF8Encoding(true, true);
YourPort.Encoding = enc;
var bytes = Encoding.Unicode.GetBytes("عربي");