短信一次发送字节140个,如果超过140字节就会分为两条。这时如果第140个字节是中文的前半,那么第一条短信应该发送139字节。设计一个程序,读取原始信息,可以根据长度自动拆分信息转换为多条短信
来源:互联网 发布:仿真电路软件手机 编辑:程序博客网 时间:2024/05/22 15:57
public class SplitMessage {
static SplitMessage splitMessage=new SplitMessage();
static boolean bChineseFirstHalf = false;
static int messagePage=1;
public int trimGBK(byte[] buf, int n){
int num = 0;
for(int i=0;i<n;i++)
{
if(buf[i]<0 && !bChineseFirstHalf){
bChineseFirstHalf = true;
}else{
num++;
bChineseFirstHalf = false;
}
}
return num;
}
public void splitMessage(String str) throws UnsupportedEncodingException{
int strBytesLength=str.getBytes("GBK").length;
int num = 0;
if(strBytesLength/140>0&&strBytesLength%140!=0){
num = trimGBK(str.getBytes("GBK"), 140);
splitMessage.sendMessage(messagePage, str.substring(0, num));
messagePage++;
splitMessage(str.substring(num));
}
else{
num = trimGBK(str.getBytes("GBK"), strBytesLength);
splitMessage.sendMessage(messagePage, str.substring(0, num));
}
}
private void sendMessage(int page, String subString ){
System.out.println("第"+messagePage + "页:"+ subString);
}
public static void main(String[] args) throws UnsupportedEncodingException{
String str = "我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢";
String str0 = "我爱javaSE你呢我爱javaSE";
String str1= "我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javasSE你呢sdf";
splitMessage.splitMessage(str);
}
}
static SplitMessage splitMessage=new SplitMessage();
static boolean bChineseFirstHalf = false;
static int messagePage=1;
public int trimGBK(byte[] buf, int n){
int num = 0;
for(int i=0;i<n;i++)
{
if(buf[i]<0 && !bChineseFirstHalf){
bChineseFirstHalf = true;
}else{
num++;
bChineseFirstHalf = false;
}
}
return num;
}
public void splitMessage(String str) throws UnsupportedEncodingException{
int strBytesLength=str.getBytes("GBK").length;
int num = 0;
if(strBytesLength/140>0&&strBytesLength%140!=0){
num = trimGBK(str.getBytes("GBK"), 140);
splitMessage.sendMessage(messagePage, str.substring(0, num));
messagePage++;
splitMessage(str.substring(num));
}
else{
num = trimGBK(str.getBytes("GBK"), strBytesLength);
splitMessage.sendMessage(messagePage, str.substring(0, num));
}
}
private void sendMessage(int page, String subString ){
System.out.println("第"+messagePage + "页:"+ subString);
}
public static void main(String[] args) throws UnsupportedEncodingException{
String str = "我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢";
String str0 = "我爱javaSE你呢我爱javaSE";
String str1= "我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢" +
"我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javaSE你呢我爱javasSE你呢sdf";
splitMessage.splitMessage(str);
}
}
- 短信一次发送字节140个,如果超过140字节就会分为两条。这时如果第140个字节是中文的前半,那么第一条短信应该发送139字节。设计一个程序,读取原始信息,可以根据长度自动拆分信息转换为多条短信
- 短信发送一次显示两条之谜
- 一条短信最多70个汉字,140个字节,160个字符,原因探究和实测。
- android发送短信,超过70个中文,自动分拆短信内容
- BLE如何发送超过一包为20个字节的问题
- 仿发送微博限制只发送140个字(一个汉字占位2字节)
- 解决一个ios 短信格式问题(http:// 会导致本来一条短信被识别为两条短信)
- 将一个4个字节的数拆分为4单个字节的数
- 发送短信内容过长时分多条发送
- tcp send函数发送的最大长度可以超过65535字节吗?
- 限制一定时间内发送短信条数
- 8.2接收和发送条短信
- 按照字节数截取一个字符串,“abc你好” 如果截取到半个中文,舍弃,比如 截取4个字节 abc。截取 5个字节abc你
- Android发送短信信息
- Salesforce 发送短信信息
- android案例之当字数超过一定限制时发送多条短信
- 如何解决STM32F407串口无法发送第一个字节问题
- STM32串口发送数据第一个字节丢失问题
- 两分钟让你明白cocos2dx的屏幕适配策略
- 人最为实用的能力是落地的能力
- 现有的负载均衡技术的分类与各自特点
- Ubuntu下安装CodeBlocks、Fetion 、Flashplayer
- 开发DBA们都在搞什么
- 短信一次发送字节140个,如果超过140字节就会分为两条。这时如果第140个字节是中文的前半,那么第一条短信应该发送139字节。设计一个程序,读取原始信息,可以根据长度自动拆分信息转换为多条短信
- Cocos2dx笔记与收藏
- 项目分解的能力是成功做事的必备能力
- nginx之配置文件分析与开源软件配置文件结构设计
- Ado.net连接数据库查询表信息的多种方法
- mongodb判断null值
- Delphi XE5 Android Dialogs 对话框
- struts2的简单的编程步骤
- linux shell if 参数