- 浏览: 133293 次
- 性别:
文章分类
最新评论
接收短信有两种编码格式:
1.中英文混合的为unicode
2.英文的为7BIT编码。
以7BIT编码为例子,如接收到PDU码为
0891683108502905F0040D91685159296028F30000701021216182230947759B4C0F93E967
08 //短消息中心长度
91 //短消息中心有国家编码 没有为81
683108502905F0//短信中心号码
685159296028F3//发送方手机号码
0000//编码格式=7BTT格式(0008为unicode)
70102121618223//时间
09//消息长度
47759B4C0F93E967//短信内容,7BIT解码为:Gjmdtadtg
附DELPHI中对unicode和7BIT解码函数
//unicode解码
function U2GB(Str: string): string;
var s: pchar;
i: integer;
tmp: string;
begin
tmp := '';
result := '';
s := PChar(str);
i := 0;
while i < length(s) do
begin
tmp := tmp + chr(HexToInt(s[i + 2] + s[i + 3])) + chr(HexToInt(s + s[i + 1]));//unicode转换时,高低位互换
inc(i, 4);
end;
result := widechartostring(pWideChar(tmp + #0#0#0#0));
end;
//7BIT短信内容解码
function TFrm_DtuCall.gsmDecode7bit(pSrc:string; nSrcLength:Integer):string;
//pSrc内容
//nSrcLength内容长度
var
nSrc:Integer; // 源字符串的计数值
nByte:Integer; // 当前正在处理的组内字节的序号,范围是0-6
nLeft:Byte; // 上一字节残余的数据
tmpChar:Byte;
pDst:string;
begin
// 计数值初始化
nSrc := 1;
// 组内字节序号和残余数据初始化
nByte := 0;
nLeft := 0;
pdst := '';
// 将源数据每7个字节分为一组,解压缩成8个字节
// 循环该处理过程,直至源数据被处理完
// 如果分组不到7字节,也能正确处理
while (nSrc < nSrcLength) do
begin
tmpChar := byte(StrToInt('$' + pSrc[nsrc] + pSrc[nsrc + 1]));
// 将源字节右边部分与残余数据相加,去掉最高位,得到一个目标解码字节
pDst := pDst + Char(((tmpchar shl nByte) or nLeft) and $7F);
// 将该字节剩下的左边部分,作为残余数据保存起来
nLeft := tmpChar shr (7 - nByte);
// 修改字节计数值
Inc(nByte);
// 到了一组的最后一个字节
if (nByte = 7) then
begin
// 额外得到一个目标解码字节
pdst := pDst + Char(nLeft);
// 组内字节序号和残余数据初始化
nByte := 0;
nLeft := 0;
end;
// 修改源串的指针和计数值
nSrc := nSrc + 2;
end;
// 返回目标串长度
result := pdst;
end;
发表评论
-
Delphi中的接口和抽象类
2010-12-06 16:30 552接口:Interface Delphi中接口的关键字 ... -
Delphi中票据凭证的精确打印
2011-04-06 15:13 972一、概述 在银行,税务,邮政等行业的实际工作中,经常涉及到在 ... -
Delphi编程中流的应用
2011-05-25 11:19 762一、流的概念 流简单说是建立在面向对象基础上的一种 ... -
Pascal与C的指针
2011-05-26 13:49 983大家都认为,C语言 ... -
Delphi编程的一些资料1
2011-06-16 10:40 705手机 SMS PDU 格式参考手册 1.相关的GSM AT指 ... -
Delphi编程的一些资料2
2011-06-16 10:43 700算法步骤: 一、地址 ... -
Delphi编程的一些资料3
2011-06-16 10:46 766一、一般命令 AT+CGMI ... -
Delphi编程的一些资料4
2011-06-16 10:48 763七、追加服务命令 AT+CCFC 呼叫继续 ... -
Delphi编程的一些资料5
2011-06-16 10:53 756十三、SIM卡工具箱命令 AT+STSF ... -
通过注册表获取当前所有串口号
2011-06-16 15:49 2690usesWindows, Messages, SysUtils ... -
Delphi 分隔GSMModem接收到的短信字符串
2011-06-20 10:37 1067Delphi 分隔GSMModem接收到的短信字符串 ... -
Delphi流的操作
2011-06-22 14:34 788Delphi流的操作 一、流的概念 流简单说是建立在面 ... -
Delphi、PChar和Char数组的比较
2011-06-22 16:14 1237Delphi、PChar和Char数组的 ... -
Delphi 判断数据库表是否存在
2011-06-26 12:54 1030//根据表名和一个数据库连接判断表是否存在 function ... -
Delphi ListView基本用法大全
2011-08-22 17:27 1332Delphi ListView基本用法大全 //增加项或列( ... -
Delphi2010 无效的类别字符串, ProgID: "ADOX.Catalog"问题
2012-07-18 09:56 2048程序中用ADOX创建的Access数据库,一直运行正常,其 ... -
Delphi 禁用TEdit右键菜单及复制粘贴
2012-07-19 11:24 1360Delphi 禁用TEdit右键菜单及复制粘贴简的单方法 ... -
Delphi TStrings取得Ini文件键值对
2012-07-20 07:37 1328Delphi TStrings取得Ini文件键值对的简单 ... -
Delphi 压缩Access数据库
2012-07-21 12:21 1599由于Access数据库在反复使用过程中会自动增大,Del ...
相关推荐
1、短信传输分三种模式:Block(淘汰)、Text(纯文本模式,用处受限,不能实现中文)、PDU(手机默认的短信模式,可以使用任何字符集) 2、PDU编码主要包括两个主要的部分:一是PDU串的整体数据格式,分别因为发送...
GSM Modem 短信的编码和解码 在收发短信方面,按时间产生先后,共产生了三种模式:Block Mode、基于AT指令的Text Mode、基于AT指令的PDU Modem, Text Mode比较简单,多款诺基亚手机均支持该模式。西门子的手机大多只...
在收发短信方面,按时间产生先后,共产生了三种模式:Block Mode、基于 AT 指令的 Text Mode、基于 AT 指令的 PDU Modem。 Text Mode 是纯文本方式, 可使用不同的字符集,主要用于欧美地区。从技术上说也可用于发送...
简易的VB发短信小程序源代码,支持PDUmgscodeVB AT测试终端以及PDU编码等,请注意,发送信息的时候以PDU模式发送文本,必须确保终端是PDU模式,选中后终端将处于PDU模式,勾除后终端处于Text模式。 其它代码...
I2-1,N种文本产品列表数据调用方法.如最新产品,最新推荐,热门商品等 I2-2,N种图形排列数据调用方法.如九大推荐商品,九大热门商品等. I2-3,任意栏目商品数据调用; I2-4,商品参数功能与商品功能指数功能;可详尽描述...
初始模式 短信“我<3> class),请优化为 Java 字节码 编译为“PostKnit”,穿Kong卡片指令(ascii,十六进制?) 创建打Kong卡 打印、打Kong和邮寄! 读取打Kong卡并执行 跑通读卡器 两个输出: 在屏幕上:从 ...
12.1.3 在不同操作系统下选用哪种驱动程序模式 341 12.2 vxd示例程序介绍--vtoolsd中的commhook 341 12.3 串口数据捕捉实例程序 351 12.3.1 编程任务 351 12.3.2 编程步骤 351 12.4 虚拟串口简介 364 附录a ...
12.1.3 在不同操作系统下选用哪种驱动程序模式 341 12.2 VxD示例程序介绍——VToolsD中的CommHook 341 12.3 串口数据捕捉实例程序 351 12.3.1 编程任务 351 12.3.2 编程步骤 351 12.4 虚拟串口简介 364 附录A Turbo ...
12.1.3 在不同操作系统下选用哪种驱动程序模式 341 12.2 VxD示例程序介绍——VToolsD中的CommHook 341 12.3 串口数据捕捉实例程序 351 12.3.1 编程任务 351 12.3.2 编程步骤 351 12.4 虚拟串口简介 364 附录A Turbo ...
12.1.3 在不同操作系统下选用哪种驱动程序模式 341 12.2 vxd示例程序介绍--vtoolsd中的commhook 341 12.3 串口数据捕捉实例程序 351 12.3.1 编程任务 351 12.3.2 编程步骤 351 12.4 虚拟串口简介 364 附录a ...
12.1.3 在不同操作系统下选用哪种驱动程序模式 341 12.2 vxd示例程序介绍--vtoolsd中的commhook 341 12.3 串口数据捕捉实例程序 351 12.3.1 编程任务 351 12.3.2 编程步骤 351 12.4 虚拟串口简介 364 附录a ...
在此模式下,信息不能被复制,用户不用担心被录音,姓名、头像都会被打马赛克。 3.聊天内容在已读后30秒内消失,不留痕迹。如同在澡堂一般,只能“看在眼里、烂在心里”,保证重要信息沟通隐私安全。 4.针对安全...
再次改进图片的阅读能力,小于100K的图片采用系统解码,采用高内存方式解码,>500K采用流式解码,对于ZIP中>256K的图片不再解码 修正阅读zip中大图片错误的bug 修正阅读中途出现排版错误的bug 背景图片加载的速度...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
原先UBB参数设置中的发帖模式作用目前刚好相反,比如原先设为普遍模式现在将视为高级模式 .增强一些论坛编码 - 图片允许批定高度和宽度,格式为[IMG=边框粗细,排版方式,高度,宽度] - 允许单独指定文字的背景色,格式...
Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,...