发送10690195099短信验证码发送平台格式

短信发送格式
一、短消息收发的实现模式
计算机串口上连接GSM MODEM,用它向手机发送短消息,要求对AT
指令集和串口编程比较熟悉。这种方法收发短消息又分三种模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK
模式现在用的很少了; TEXT 模式则只能发送ASCII
码,它不能发送中文的UNICODE码——确切地讲,从技术上来说是可以用于发送中文短消息的,但是国内的手机基本上不支持;而PDU
模式开发起来则较为复杂,它需要编写专门的函数来将文本转换为PDU 格式,但PDU
模式被所有手机支持,可以使用任何字符集,它也是手机默认的编码方式。笔者在开发中正是选用的PDU 模式。
二、PDU 模式
用PDU 模式收发短消息可以使用三种编码: 7-bit 编码、8-bit 编码和UCS2 编码。7-bit编码用于发送普通的ASCII
字符;8-bit 编码通常用于发送数据消息,如图片或铃声等;UCS2编码用于发送Unicode
字符。由于笔者在系统中要实现中文短消息的发送,所以选择用UCS2编码,即中文Unicode 码。
(一)UCS2 编码原理
&&& 所谓UCS2
编码,是将单个的字符(1-2 个字节)按ISO/IEC10646 的规定,转变为16 位的Unicode
宽字符。即将单个的字符转换为由四位的‘0’-‘9’、‘A’-‘F’的数字和字母组成的字符串。待发送的消息以UCS2
码的形式进行发送。
(二)发送PDU 串的编制分析
通过UCS2 编码我们得到中文Unicode 码,接着就可以进行发送PDU 串的编制了。从表面上看,PDU 串是ASCII
码串,同样由‘0’-‘9’、‘A’-‘F’这些数字和字母组成。它们是8 位字节的十六进制数,或者BCD 码十进制数。PDU
串除了包含所发送的消息本身外,还包含很多其它参数信息,如服务中心号码、目标号码和编码方式等。现用一个实例说明发送PDU
串的结构和编排方式。
例:08 91 F0 31 00 0D 91 F2 00 08 C2 06
60A8597DFF01
参照规范,具体分析:
分段含义解释说明
08 SMSC 地址信息的长度共8 个八位字节(包括91)
91 SMSC 地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 08 10 00 05 F0 SMSC 地址0,补‘F’凑成偶数个
31 基本参数(TP-MTI/VFP) 要求发送回复
00 消息基准值(TP-MR) 0
0D 目标地址数字个数共13 个十进制数
91 目标地址格式(TON/NPI):
A1:国内格式
91:国际格式
&&& 81:未知,+86
可带可不带。
F2 目标地址(TP-DA) 2,补‘F’凑成偶数个
00 协议标识(TP-PID) 是普通GSM 类型,点到点方式
08用户信息编码方式(TP-DCS):
&&& 00:表示7-bit
编码, 08:表示UCS2 编码,
&&& 04:表示8-bit
C2 有效期(TP-VP) 5 分钟
06 用户信息长度(TP-UDL) 实际长度6 个字节
60 A8 59 7D FF 01 用户信息(TP-UD) “您好!”
这里需要注意的几点:
①.比较SMSC 地址分段:68 31 08 10 00 05 F0 与真实SMSC 地址0F(为了凑足14
位,在末尾补F),不难发现只需将前者奇偶位对调即可得到后者。同样,目标地址分段F2
与实际目标地址F 之间的关系也是如此。
②.若“SMSC 地址信息的长度”分段的值为00,则意味着SMSC 地址字符串的长度为零,PDU 串的“SMSC
地址格式”段和“SMSC 地址”段将省去。且将使用SIM 卡设置的SMSC 地址。
上例中的PDU 串变为:
00 31 00 0D 91 F2 00 08 C2 06 60A8597DFF01
③. 对于用户信息长度,可通过VB 中的Len 函数求得,如“您好!”,用Len(“您好!”)得到是3,那么3*2=6
即为用户信息长度06(这里要转换为16 进制,并且是两位)。
④.用户信息(TP-UD)段最大容量是140 字节,所以在UCS2 编码方式下,可发送短消息的最大字符数是70 个。
(三)UCS2 解码
在接收消息时,可能不仅收到UCS2 格式编码的PDU 串,也可能是7bit 编码格式(TP-DCS 为00)或8bit
编码格式(TP-DCS 为04)的PDU 串。对这两种情况,笔者也编了相应的解码算法,且它们的算法要相对简单,由于着重介绍UCS2
解码,7bit 与8bit 解码就不再多介绍了。
(四)接收PDU 串的编制分析
接收PDU 串和发送PDU 串结构是不完全相同的。通过一个实例来分析,假定收到的短消息其PDU 串为:
08 91 F0 04 0D 91 F2 00 08 23
06 60 A8 59 7D FF 01
参照规范,具体分析:
分段含义解释说明
08 SMSC 地址信息的长度共8 个八位字节(包括91)
91 SMSC 地址格式(TON/NPI) 用国际格式号码(在前面加‘+’)
68 31 08 10 00 05 F0 SMSC 地址0,补‘F’凑成偶数个
84 基本参数(TP-MTI/MMS/RP) 接收,无更多消息,有回复地址
0D 回复地址数字个数共13 个十进制数(不包括91 和‘F’)
91 回复地址格式(TON/NPI) 国际格式
68 31 19 10 99 91 F2 回复地址(TP-RA) 2,补‘F’凑成偶数个
00 协议标识(TP-PID) 是普通GSM 类型,点到点方式
08 用户信息编码方式(TP-DCS) UCS2 编码
40 90 10 31 35 30 23 服务时间戳(TP-SCTS)
06 用户信息长度(TP-UDL) 实际长度6 个字节
60 A8 59 7D FF 01 用户信息(TP-UD) “您好!”
通过分析,我们可以获取其中的有用信息。如:短信服务中心号码是+0,
发送方号码是,发来的消息内容是“您好!”,以及发送时间是:
13:53:03。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。请输申请gmail账号,我们刚刚发送到中国 的手机验证码为什么说是号码格式不对。_百度知道
请输申请gmail账号,我们刚刚发送到中国 的手机验证码为什么说是号码格式不对。
我有更好的答案
按默认排序
就是不要让他发短信验证码,你要选地区是中国。如果还不行就在前面加个+86。还有一点要提醒你,选择语音验证的,不然你等到睡着都不会发过来的不会啊
其他类似问题
gmail的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁页面导航:
→ 正文内容 Js实现按钮延迟操作
Js实现手机发送验证码时按钮延迟操作
在做项目的时候,经常遇到发短信验证码的问题,这时候需要用户点完发送验证码按钮后,一段时间内不能重复点击,毕竟验证码都是收费的嘛,谁都不想浪费,那么如何实现这种功能呢?下面来分享一下。
实例代码记录:
&script type="text/javascript"&
function start_sms_button(obj){
var count = 1 ;
var sum = 30;
var i = setInterval(function(){
if(count & 10){
obj.attr('disabled',false);
obj.val('发送验证码');
clearInterval(i);
obj.val('剩余'+parseInt(sum - count)+'秒');
$(function(){
//发送验证码
$('#send_sms').click(function(){
var phone_obj = $('input[name="phone"]');
var send_obj = $('input#send_sms');
var val = phone_obj.val();
if(IsMobile(val)){
send_obj.attr('disabled',"disabled");
//30秒后重新启动发送按钮
start_sms_button(send_obj);
url:'{#url_reset("index/sms")#}',
data:{'mobile':val},
dataType:'json',
type:'post',
beforeSend:function(){
show_loading_body();
complete:function(){
show_loading_body();
success:function(data){
if(data.status!=undefined && (data.status == 'ok' || data.status == 'error')){
showMsg(data.msg);
showMsg("手机号的格式错误");
showMsg('手机号不能为空');
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910短信怎么提问,百度知道?_百度知道
短信怎么提问,百度知道?
提问者采纳
免费快速接收答案!你可以用手机提出你的问你好!费用;短信知道是免费的,很高兴为你解答,信息费运营商收取,然后发送9 随时随地提问,根据当地不同
其他类似问题
按默认排序
其他3条回答
//zhidao://zhidao.html" target="_blank">http,您可到百度知道投诉中心反馈,或者百度知道没有采纳到最佳答案,在百度知道发布您的问题。您向发送的上行短信;联通&#47。资费如何收取.baidu,如登录wapiknow,获得更多帮助。24小时之内没有网友回答您的问题。您的问题违反了知道协议.10元?可能是您的问题过短,请尝试重新编写短信。不需要注册或登录.html)如果在24小时之内、无意义的字符串://zhidao,重新提交问题,百度知道也将向您发送信息;电信运营商。望采纳.com,百度知道会把最佳答案发送到您的手机,简单快捷地获得问题答案,我们将会尽快解决。当网友回答了您的问题后,具体资费请问询当地移动&#47。如何使用短信提问,由移动运营商按照正常的短信费用收取.baidu,您可以用清晰简明的语言重新编写短信.com/question/,您便可以通过发送短信的方式,您不需要为接收到的信息支付任何费用,或者问题内含有不能识别的,却仍然提交失败,或登录http。百度知道向您推荐的使用小窍门如果问题的紧急程度很高.baidu。尽量清晰简洁地描述问题,描述得不清楚。(提问成功范例。您可继续通过网络搜索.com/question/?您的问题质量不高。为什么我的问题总是得不到满意答案,提示未能帮您找到满意回答。当您收到百度知道提示您提交失败的短信时,该问题未能获得最佳答案,获得网友的更多关注!
参考资料:
百度知道帮助
移动、联通、电信用户发送短信到,您还可以对刚才的问题进行补充,只要按照提示,直接回复相关下行短信就可以了!
不收取多余信息费,发送需要支付移动0.1元/条,接收免费。
你认为谁能给你准确的回答,就可以把问题提出,发私信给他。请他帮助。
百度知道的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 csol验证码格式不正确 的文章

 

随机推荐