Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用AT命令从GSM设备发送Unicode消息_C#_Sms_Gsm_At Command_Modem - Fatal编程技术网

C# 如何使用AT命令从GSM设备发送Unicode消息

C# 如何使用AT命令从GSM设备发送Unicode消息,c#,sms,gsm,at-command,modem,C#,Sms,Gsm,At Command,Modem,我有一个使用C#.Net的现有桌面应用程序,用于使用GSM设备/调制解调器发送和接收消息。一切正常,但现在我面临一些问题: 1-我不能在邮件中发送超过160个字符 2-我不能发送Unicode消息(我的语言是孟加拉语)。我已经尝试转换成十六进制,但它正在发送另一种语言 这就是我迄今为止所尝试的: port.WriteLine("AT+CSCS=\"UCS2\"\n"); Thread.Sleep(100); port.WriteLine("AT+CMGF=1"+Environment.NewLi

我有一个使用C#.Net的现有桌面应用程序,用于使用GSM设备/调制解调器发送和接收消息。一切正常,但现在我面临一些问题:

1-我不能在邮件中发送超过160个字符

2-我不能发送Unicode消息(我的语言是孟加拉语)。我已经尝试转换成十六进制,但它正在发送另一种语言

这就是我迄今为止所尝试的:

port.WriteLine("AT+CSCS=\"UCS2\"\n");
Thread.Sleep(100);
port.WriteLine("AT+CMGF=1"+Environment.NewLine);
Thread.Sleep(100);
port.WriteLine("AT+CMGS=\""+number+"\"");
Thread.Sleep(100);
port.WriteLine(message+char.ConvertFromUtf32(26)+Environment.NewLine);
Thread.Sleep(100);
port.Write(new byte[]{26},0,1);
Thread.Sleep(100);
首先,你应该!对于AT+CMGS的
AT
,您还必须正确等待调制解调器的ready to receive payload(准备接收有效负载)响应,请参阅本部分的第一部分


关于sms大小,160个字符是GSM网络的限制。通过拆分文本并发送多条消息,可以发送“实际上”更大的消息,这些消息在接收手机上透明地连接在一起,使其看起来像是一条消息。这就是所谓的

您不能以文本模式发送多部分消息,必须使用PDU模式


运行
AT+CSCS=“UCS2”
后,从那时起,每个字符串参数都必须以这种方式编码,包括。在您的情况下,这适用于
参数到
AT+CMGS

首先,您应该!对于AT+CMGS的
AT
,您还必须正确等待调制解调器的ready to receive payload(准备接收有效负载)响应,请参阅本部分的第一部分


关于sms大小,160个字符是GSM网络的限制。通过拆分文本并发送多条消息,可以发送“实际上”更大的消息,这些消息在接收手机上透明地连接在一起,使其看起来像是一条消息。这就是所谓的

您不能以文本模式发送多部分消息,必须使用PDU模式


运行
AT+CSCS=“UCS2”
后,从那时起,每个字符串参数都必须以这种方式编码,包括。在您的情况下,这适用于AT+CMGS的
参数