请教华为GSM短信模块收到的一串信息数字怎么变成想要的?
019111000C810156950680660000001444220C0683C160B0188E069BC16035613008收到的是这些数字,怎么变成想要的十六进制数?在手机上接收到的是正常的十六进制数。 //------------------------------------------------//字母转为数字
//------------------------------------------------
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;
} 收方电话是18106559600??
如果是,那就是PDU编码不正确。发成了txt格式
FYI:
http://www.amobbs.com/thread-4522245-1-1.html 谢谢两位朋友,具体的编解码原理有文档吗? ZHAOBAO511 发表于 2015-3-31 15:18
谢谢两位朋友,具体的编解码原理有文档吗?
SkyGz 发表于 2015-3-31 17:03
谢谢,十分感谢。
页:
[1]