Android发送短信字数问题

以前已经知道发送短信有70个字符的限制,但真到用的时候才发现还是不了解。中文英文各算几个字符?一开始按照老想法,GB码中文2个字节英文一个 字节来算,按70个汉字的限制可以发140个字节,但是发送的时候总是出错。后来在网上查了下短信的编码才知道,现在发送短信通常使用PDU模式,摘抄一 段:

    在PDU Mode中,可以采用三种编码方式来对发送的内容进行编码,它们是7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符, 它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个;8-bit编码通常用于发送数据消息,比如图片和铃声等; 而UCS2编码用于发送Unicode字符。PDU串的用户信息(TP-UD)段最大容量是140字节,所以在这三种编码方式下,可以发送的短消息的最大 字符数分别是160、140和70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。需要注意的是,PDU串的用户信息长度(TP- UDL),在各种编码方式下意义有所不同。7-bit编码时,指原始短消息的字符个数,而不是编码后的字节数。8-bit编码时,就是字节数。UCS2编 码时,也是字节数,等于原始短消息的字符数的两倍。

    这下就明白了,发送带中文的短信时是用UCS2编码,无论中英文还是符号空格都是按一个字符算,总共70个,超过一个发送短信就会出错。而发送纯英文短信时使用7-bit编码,就可以发送160个字符了。

    SmsManager有一个divideMessage函数,可以把要字符串按照限制来分割成可以发的消息。

    如果发送的短信有一段中文后面还有一段url,这时用divideMessage来机械的分就不好了,要把url单独放在一条短信里, 这时还是需要自己手动来分的。

http://www.cnblogs.com/developer-OYK/

转载于:https://www.cnblogs.com/-OYK/archive/2011/06/01/2067173.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

获取指定日期所属年份的第一天日期或最后一天日期

写了2个自定义函数,获取指定日期所在年份的第一天日期或最后一天的日期: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-09 -- Update date: 2019-05-09 -- Description: 获取指定日期所属年…

高效管理ASP.NET的JavaScript库

简介 对于ASP.NET开发人员来说,管理项目中的JavaScript都很随意: 我想这很大程度上可能是因为网上没有如何妥善处理ASP.NET中JavaScript的可靠信息。此文的目的就是提供一种最佳方案,用于管理ASP.NET中的JavaScript。该方案将能解决以下问题:…

【面试】c++单例模式

1. 单例模式 #include <iostream> using namespace std;class CSingleton { private:CSingleton() {} // 构造是私有的static CSingleton *m_pInstance; public:static CSingleton *GetInstance(){if (m_pInstance NULL) {m_pInstance n…

AIX HACMP集群切换测试实际案例解析

为验证AIX HACMP集群系统的稳定性及保障其上应用的连续性和可靠性&#xff0c;决定周五晚进行集群切换测试。下面是当次过程的文档总结和记录&#xff0c;方便以后参考并备案。系统环境&#xff1a;AIX 5.3数据库&#xff1a; DB2 V8.2存储&#xff1a; IBM DS4700,为两节点配置…

《Effective C++》阅后心得

《Effective C》阅后心得 这本书保存在我电脑里已经有两年之久了&#xff0c;记得以前模模糊糊翻过&#xff0c;大体上还有那么点点印象&#xff0c;最近花了一个星期仔仔细细的看了一篇&#xff0c;收获很大很大 首先对于很多C知识我都有那么个概念&#xff0c;真要我说出什么…

jvm_2

业务线程一直在等待&#xff0c;或者一直在运行&#xff0c;如果不是自己想要的状态&#xff0c;就表明有问题 死锁问题检测 上面程序之所以会死锁&#xff0c;因为下图所示&#xff0c;在-128~127范围内&#xff0c;Integer valueOf后对相同的int值会返回相同的对象&#xff0…

视频播放器

效果图 知识要点 surfaceView.getHolder().setFixedSize(176, 144);//设置分辨率 surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);//设置surfaceview不维护自己的缓冲区&#xff0c;而是等待屏幕的渲染引擎将内容推送到用户面前 sur…

编了一个服务器

//服务器代码 / Sever.cpp : Defines the entry point for the console application. // #include <WinSock2.h> //包含Socket 2版本的头文件&#xff1b; #include <windows.h> #include <stdio.h> #pragma comment(lib, "WS2_32.lib")…

计算机学科技术前沿:互联网上信息可信性的现状

互联网的虚假信息很大一部分是由水军造成的。 研究报告显示&#xff0c;越来越常见的网络付费发贴行为虽然有益于商家&#xff0c;但却会影响到普通互联网用户的信息判断&#xff0c;使他们失去对网络信息的信任。 在中国&#xff0c;这些人被称作“网络水军”&#xff1a;一…

asp.net UpdatePanel的简单用法

局部更新是ajax技术的最基本&#xff0c;也是最重要的用法&#xff0c;今天大概把asp.net ajax中的局部更新控件 updatepanel的用法记录下&#xff0c;大家可以共同探讨 UpdatePanel控制页面的局部更新&#xff0c;这个更新功能依赖于scriptManger控件的EnablePartialRendering…

前端需要了解的http知识

http基本概念 http是一个无状态 &#xff0c;无连接的基于TCP协议的单向应用层协议 一、无连接 无连接即每次链接只处理一个请求&#xff0c;请求和应答后就断开链接 二、无状态 http的每次请求都是独立的&#xff0c;不相关的&#xff0c;协议对事物处理没有记忆功能。 HTTP无…

局域网中设备的管理之StackCluster

局域网中设备的管理通常采用 stack 、cluster和snmp等方法。 下面我们来讨论一下stack 和cluster。Stack 也叫作堆叠。堆叠是由一些通过堆叠口相连的以太网交换机组成的一个管理域&#xff0c;其中包括一个主交换机和若干个从交换机。堆叠在一起的以太网交换机可以看作为一个设…

SMTP 服务器要求安全连接或客户端未通过身份验证的各个解决方案(C#)

最近在做邮件发送接口 把遇到的问题和解决方法告诉大家 希望对了解邮件的人有所帮助 原程序部分代码如下 //设置邮件信息 发件人地址、收件人地址、标题、主题 MailMessage mail new MailMessage("xxxxxxxsina.com", "zzzzzzzsina.com", "标题…

google Chrome 浏览器源码地址地址!

1. Google Chrome 源码 SVN 地址&#xff1a;http://src.chromium.org/svn。包含有 Chrome、Gears、Webkit、GCC 等源码以及编译依赖工具。Chrome 浏览器项目的源码&#xff0c;位于目录 http://src.chromium.org/svn/trunk/src/chrome/  2. Google Chrome 源码 Web 浏览地址…

3DMed

1. 当前 小论文&#xff0c; before 5.1 2. linux 需要十天的时间&#xff0c; 5月上旬 3. 中下旬写代码&#xff0c;提取算法 。 6月 三维 建模 7月仿真 4. very helpfully , i found this professional open software. Links 3DMed (www.3dmed.net) www.fingerpass.net MOSE…

【图像算法】彩色图像分割专题五:提取彩色图像上特定色彩

【图像算法】彩色图像分割专题五&#xff1a;提取彩色图像特定色彩 SkySeraph Jun 8th 2011 HQU Email&#xff1a;zgzhaobogmail.com QQ&#xff1a;452728574 Latest Modified Date&#xff1a;Jun 8th 2011 HQU 一 原理及说明&#xff1a; 1 RGB(red,green,blue)模式是…

标记一下 两个Google Chrome 源码研究的网站

大坡3D软件开发&#xff1a; http://blog.csdn.net/caimouse/archive/2008/09/07/2893806.aspx Venus神庙&#xff1a; http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html

k8s基础学习-存储卷

存储卷的几种类型&#xff1a; emptyDir -- 用于存储临时数据的简单空目录 hostPath -- 用于将目录从工作节点的文件系统挂载到pod中 gitRepo -- 通过检出Git仓库的内容来初始化的卷 nfs -- 挂载到pod中的NFS共享卷 configMap&#xff0c;secret&#xff0c;downwardAPI--用于将…

SharePoint里如何设置People picker值为当前登录用户值

摘要&#xff1a; 相信很多朋友都遇到过需要将某个People类型的字段值设置为当前登录用户的情况而且已经给出了解决方案&#xff0c;因此本文没有什么新意&#xff0c;算法上也比较冗余&#xff0c;仅仅在博客里算作知识的备份。 思路&#xff1a; 在画面的右上角有一个欢迎控件…

SQL存储过程的导入导出

转贴网址&#xff1a;http://haitao.javaeye.com/blog/782365 近日在研究SQL的存储过程&#xff0c;这里我陆续将我在使用存储过程中碰到的问题及解决办法发布到网上&#xff0c;请各位大虾指正。   SqlServer存储过程的导出导入   打开“企业管理器”&#xff0c;选择需要…