Android中文短息相关问题解答 Android开发技术

  最近很多网友来信反馈有关Android中文短信的实现原理,其实了解中文短信应该从最基本的GSM通讯协议开始看起,这里找到了Android平台的短信类库android.telephony.gsm的相关实现看完就可以很好解决。然而平时分送时使用sendMultipartTextMessage方法比较好,该方式可以自动计算文本长度,然后使用divideMessage()方法分段,最终均使用sendTextMessage来发送,但底层的实现都需要经过sendRawPdu方法。

  其中实现中文短信的核心就是编码,常规的SMS使用的是7bit的压缩处理方式,然后MMS或Push短信使用的8bit非压缩方式,但发送中文、日文都需要使用16bit的unicodes编码方式,这里需要说明的是这类宽字节的编码仅能存储70个字节,而gsm标准的的7位是压缩的可以存放160个字节内容。标准的8位是256个字符,对应ascii正好够用,最终中文短信使用java内部的utf-16be编码方式,通过getBytes方式直接转换即可,其实Android在实现短信内部上已经实现了正确的ucs2编码,但在调用时使用了一个try和catch先尝试7bit的gsm编码,但发送常规中文短信时并没有失败,造成catch中的ucs2编码方式尚未执行。

  如果仍然有疑问可以仍然来函到 android123@163.com

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号