十万火急~!字符截取,各位大侠,帮小女子下 发送短信时,每条短信只能发送70个字符,Sting content="发送短信时,每条短信只能发送70个字符,哪位大侠能帮解决下,这里不止70个字符了,该如何解决?十万火急"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 拆成两条,发两次。只能这样,以前老款的手机,对于这种字符数大于140个字符,中文的话就是70了,都是收到两条的。现在估计是在接受的时候再把两条拼起来。至于140字符这个限制,有说是移动什么定的,也有说是什么协议基准定的,具体我就不清楚了下面的你可以参考下。根据PHASE II的标准,在GSM 03.40里规定短信长度标识为一个字节,最大为FF既255,所以一条短信最长为255字节,去掉短信头(包括短信状态,短信中心,源地址,目的地址,TIMESTAMP,有效期),实际可用长度为80字节,如果是老的7BIT编码还能再长一点,但现在的手机没有使用这种编码方式的了,输入字符再多也只是拆分成几条发送而已 呵呵,没有不结贴,我刚上班,我的意思是不管短信有多长,每70个字符就作为一条短信发送,长的就做多次发送,字符串名字content,调用的方法是SendHelper.sendMessage(mobile,content);谢谢各位的关注啊~帮忙看下怎么写这个循环截取 lz用的是什么协议开发发短信功能?如果是cmpp我能帮你下。 不好意思,呵呵,我也不知道用什么协议开发的,我这边只管调用接口,现在只需要把字符串截每截取70个就调用一次发送方法,for(int i=0;i<content.length();i++) { int index = 0; String str = content.substring(index, content.length()/70); System.out.println("str------"+str); index+=70; send.sendMsg(mobile,str); }这是我现在写的,结果不对,不知道该怎么写了 你到网上搜搜如何用cmpp发长短信。资料很多。 String yourContent = "你的短信内容"; List<String> messageList = new ArrayList<String>(); if(yourContent.length() > 70){ while(yourContent.length() > 70){ String tempContent = yourContent.substring(0,66)+"(未完)"; messageList.add(tempContent); yourContent = yourContent.substring(66); if(yourContent.length() < 67){ messageList.add(yourContent+"(完)"); break; } if(yourContent.length() > 67 && yourContent.length() < 70){ messageList.add(yourContent); break; } } }else{ messageList.add(yourContent); } //遍历messageList循环发送 for(String s : messageList){ System.out.println(s); } 搜索引擎solr的配置问题 求java操作word的工具类 加入了<aop:aspectj-autoproxy proxy-target-class="true" />spring无法为Action中的service注入 想请教下深入的问题。。。 急!急!急!急!求助高手请进 讨论关于web services接口 返回对象的设计 使用FineReport报表软件,如何读取带参数报表中的参数? java程序的发布 JAVA,求两个集合的差集 下面的代码输出结果是什么,请说明一下原因! JAVA中时间大小比较 webwork
只能这样,以前老款的手机,对于这种字符数大于140个字符,中文的话就是70了,都是收到两条的。
现在估计是在接受的时候再把两条拼起来。至于140字符这个限制,有说是移动什么定的,也有说是什么协议基准定的,具体我就不清楚了
下面的你可以参考下。根据PHASE II的标准,在GSM 03.40里规定短信长度标识为一个字节,最大为FF既255,所以一条短信最长为255字节,去掉短信头(包括短信状态,短信中心,源地址,目的地址,TIMESTAMP,有效期),实际可用长度为80字节,如果是老的7BIT编码还能再长一点,但现在的手机没有使用这种编码方式的了,输入字符再多也只是拆分成几条发送而已
for(int i=0;i<content.length();i++)
{
int index = 0;
String str = content.substring(index, content.length()/70);
System.out.println("str------"+str);
index+=70;
send.sendMsg(mobile,str);
}这是我现在写的,结果不对,不知道该怎么写了
String yourContent = "你的短信内容";
List<String> messageList = new ArrayList<String>();
if(yourContent.length() > 70){
while(yourContent.length() > 70){
String tempContent = yourContent.substring(0,66)+"(未完)";
messageList.add(tempContent);
yourContent = yourContent.substring(66);
if(yourContent.length() < 67){
messageList.add(yourContent+"(完)");
break;
}
if(yourContent.length() > 67 && yourContent.length() < 70){
messageList.add(yourContent);
break;
}
}
}else{
messageList.add(yourContent);
}
//遍历messageList循环发送
for(String s : messageList){
System.out.println(s);
}