CDMA 貓用AT命令發(fā)中文短信(C#)
更新時(shí)間:2009年08月05日 23:15:56 作者:
CDMA貓連PDU都不支持,只能發(fā)文本短信。而且發(fā)中文短信居然是UNICODE,無(wú)法在超級(jí)終端里輸入。只能寫(xiě)程序。網(wǎng)上這個(gè)問(wèn)題談?wù)摰乇容^多,做起來(lái)比較累,還偶爾會(huì)出亂碼。還是將C#的成功代碼帖一下吧。
CDMA貓真是!@#¥#%(*,連PDU都不支持,只能發(fā)文本短信。而且發(fā)中文短信居然是UNICODE,無(wú)法在超級(jí)終端里輸入。只能寫(xiě)程序。
網(wǎng)上這個(gè)問(wèn)題談?wù)摰乇容^多,做起來(lái)比較累,還偶爾會(huì)出亂碼。還是將C#的成功代碼帖一下吧。
轉(zhuǎn)載請(qǐng)注明來(lái)源
void SendCHNSms(string content,string phone)
{
//中文CDMA發(fā)送,UNICODE編碼字節(jié)
byte[] b = Encoding.BigEndianUnicode.GetBytes(content);
//CDMA的AT命令手機(jī)號(hào)碼前面不能加86,否則雖然顯示成功發(fā)送,但短信中心回應(yīng)錯(cuò)誤代碼5
if(phone.IndexOf("86")==0)
{
phone = phone.Substring(2);
}
//假設(shè)是COM3口
SerialPort sp = new SerialPort("com3");
//和GSM貓不同,波特率是115200,這個(gè)問(wèn)題困擾了很久的說(shuō)
sp.BaudRate = 115200;
sp.Open();
//設(shè)置中文短信
sp.Write("AT+WSCL=6,4\r");
Thread.Sleep(500);
//設(shè)置文本格式短信
sp.Write("AT+CMGF=1\r");
Thread.Sleep(500);
//設(shè)置發(fā)送的號(hào)碼和發(fā)送內(nèi)容字節(jié)長(zhǎng)度
sp.Write("AT+CMGS=\"" + phone + "\"," + b.Length + "\r");
Thread.Sleep(500);
//寫(xiě)入
sp.Write(b, 0, b.Length);
Thread.Sleep(500);
//寫(xiě)入CTRL+Z結(jié)束短信內(nèi)容,注意在UNICODE模式下需要兩個(gè)字節(jié),這個(gè)也是不能在超級(jí)終端下操作的原因
byte[] b2 = new byte[] { 0x00, 0x1a };
sp.Write(b2, 0, b2.Length);
sp.Close();
}
網(wǎng)上這個(gè)問(wèn)題談?wù)摰乇容^多,做起來(lái)比較累,還偶爾會(huì)出亂碼。還是將C#的成功代碼帖一下吧。
轉(zhuǎn)載請(qǐng)注明來(lái)源
復(fù)制代碼 代碼如下:
void SendCHNSms(string content,string phone)
{
//中文CDMA發(fā)送,UNICODE編碼字節(jié)
byte[] b = Encoding.BigEndianUnicode.GetBytes(content);
//CDMA的AT命令手機(jī)號(hào)碼前面不能加86,否則雖然顯示成功發(fā)送,但短信中心回應(yīng)錯(cuò)誤代碼5
if(phone.IndexOf("86")==0)
{
phone = phone.Substring(2);
}
//假設(shè)是COM3口
SerialPort sp = new SerialPort("com3");
//和GSM貓不同,波特率是115200,這個(gè)問(wèn)題困擾了很久的說(shuō)
sp.BaudRate = 115200;
sp.Open();
//設(shè)置中文短信
sp.Write("AT+WSCL=6,4\r");
Thread.Sleep(500);
//設(shè)置文本格式短信
sp.Write("AT+CMGF=1\r");
Thread.Sleep(500);
//設(shè)置發(fā)送的號(hào)碼和發(fā)送內(nèi)容字節(jié)長(zhǎng)度
sp.Write("AT+CMGS=\"" + phone + "\"," + b.Length + "\r");
Thread.Sleep(500);
//寫(xiě)入
sp.Write(b, 0, b.Length);
Thread.Sleep(500);
//寫(xiě)入CTRL+Z結(jié)束短信內(nèi)容,注意在UNICODE模式下需要兩個(gè)字節(jié),這個(gè)也是不能在超級(jí)終端下操作的原因
byte[] b2 = new byte[] { 0x00, 0x1a };
sp.Write(b2, 0, b2.Length);
sp.Close();
}
5月15日
【原創(chuàng)】CDMA貓用AT命令發(fā)中文短信(C#)
相關(guān)文章
探討:關(guān)閉瀏覽器后,php腳本會(huì)不會(huì)繼續(xù)運(yùn)行
本篇文章是對(duì)關(guān)閉瀏覽器后,php腳本會(huì)不會(huì)繼續(xù)運(yùn)行進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
C#實(shí)現(xiàn)Excel導(dǎo)入sqlite的方法
這篇文章主要介紹了C#實(shí)現(xiàn)Excel導(dǎo)入sqlite的方法,是C#程序設(shè)計(jì)中非常重要的一個(gè)實(shí)用技巧,需要的朋友可以參考下2014-09-09
C#命令行參數(shù)解析庫(kù)System.CommandLine使用
System.CommandLine是一個(gè)基于.Net Standard 2.0的命令行參數(shù)解析庫(kù),該項(xiàng)目還是屬于beta狀態(tài),期待以后的正式版本,文章通過(guò)示例代碼給大家介紹了System.CommandLine使用講解,感興趣的朋友一起看看吧2021-06-06
C#實(shí)現(xiàn)TIF圖像轉(zhuǎn)PDF文件的方法
這篇文章主要介紹了C#實(shí)現(xiàn)TIF圖像轉(zhuǎn)PDF文件的方法,涉及C#使用TIFtoPDF工具實(shí)現(xiàn)pdf文件轉(zhuǎn)換的技巧,需要的朋友可以參考下2015-07-07
C#多線(xiàn)程同步:Mutex與Semaphore的區(qū)別及使用場(chǎng)景詳解
這篇文章主要介紹了C#多線(xiàn)程同步:Mutex與Semaphore的區(qū)別及使用場(chǎng)景,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
C# OpenCvSharp實(shí)現(xiàn)圖片批量改名
這篇文章主要為大家詳細(xì)介紹了C#如何結(jié)合OpenCvSharp實(shí)現(xiàn)圖片批量改名功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03

