?? d221.bmp.txt
字號:
00:有效期
04:用戶數據長度
4F60597D:用戶數據,采用Unicode編碼,代表“你好”
2.接收短信
如果接收到的PDU串為Q8 91 6831Q87()13Q5FQ 24 QB△l 3118325476F8 QQ Q8
50303211509220盟4F6Q597D,下面是對PDU串的分析:
08:短消息服務中心地址長度,8個字節
91:短消息服務中心號碼類型
683108701305FO:短消息服務中心號碼,這里是8613800731500
24:文件頭字節
OB:被叫號碼長度,長度為11位
Al:被叫號碼類型
3118325476F8:被叫號碼,這里是13812345678
00:協議標識
08:數據編碼方案
50303211509220:時間戳
04:用戶數據長度
4F60597D:用戶數據,采用Unicode編碼,代表“你好”
7.2.2 SMS的基本功能函數
下面,通過程序來介紹一下SMS編碼的實現。需要說明是,下面的功能函數采用了標
準C語言編寫,既可用Visual C++進行編譯,也可以應用于基于單片機、DSP等處理器
的開發。
無論是SMS還是GPRS,所有的數據都必須轉換成字符串才能發送和接收。在編碼時
需要將字節教據轉換成字符串,解碼時需要將可打印的字符串轉換為字節數據。因此需要如
下兩個函數:
(1) int gsmString2Bytes(const char* pSrc, unsigned char* pDst, int nSrcLength)
說明:可打印字符串轉換為字節數據,如:“C8329BFDOEOl”一{OxC8,Ox32,Ox9B,OxFD,
OxOE,Ox01)。
●輸入:pSrc-源字符串指針,nSrcLength-源字符串長度。
●輸出:pDst-目標數據指針。
●返回:目標數據長度。
int gsmString2Bytes(const char* pSrc, unsigned char* pDst, int nSrcLength)
{
for (int i = 0; i < nSrcLength; i += 2)
{
//輸出高 4 11
*pDst = (*pSrc - '0')《 4;
22/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -