ZHAOBAO511 发表于 2015-3-31 14:39:26

请教华为GSM短信模块收到的一串信息数字怎么变成想要的?

019111000C810156950680660000001444220C0683C160B0188E069BC16035613008收到的是这些数字,怎么变成想要的十六进制数?在手机上接收到的是正常的十六进制数。

lcw_swust 发表于 2015-3-31 15:06:39

//------------------------------------------------
//字母转为数字
//------------------------------------------------
U8 c2n(U8 c)        //reentrant
{
        U8 ret=0;
        if((c>='0')&&(c<='9'))ret=c-'0';
        if((c>='A')&&(c<='F'))ret=c+10-'A';
        return ret;
}
//------------------------------------------------
//字符串转为数字
//s:字符串
//base:进制
//------------------------------------------------
U32 Str2Num(U8 *s,U8 base)        //reentrant
{
        U32 n=0;
        while(*s)
        {
                n=(n*base)+c2n(*(s++));
        }
        return n;
}

fsclub 发表于 2015-3-31 15:12:02

收方电话是18106559600??
如果是,那就是PDU编码不正确。发成了txt格式
FYI:
http://www.amobbs.com/thread-4522245-1-1.html

ZHAOBAO511 发表于 2015-3-31 15:18:29

谢谢两位朋友,具体的编解码原理有文档吗?

SkyGz 发表于 2015-3-31 17:03:44

ZHAOBAO511 发表于 2015-3-31 15:18
谢谢两位朋友,具体的编解码原理有文档吗?

ZHAOBAO511 发表于 2015-4-1 11:07:05

SkyGz 发表于 2015-3-31 17:03


谢谢,十分感谢。
页: [1]
查看完整版本: 请教华为GSM短信模块收到的一串信息数字怎么变成想要的?