📄 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 + -