SIM卡中UCS2编码的三种格式(80,81,82)分析_第1页
SIM卡中UCS2编码的三种格式(80,81,82)分析_第2页
SIM卡中UCS2编码的三种格式(80,81,82)分析_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SIM卡中UCS2编码的三种格式(80,81,82)分析分类:MTK学习资料2012-04-2211:4641人阅读评论(0)\o"收藏"收藏\o"举报"举报

操作SIM卡中的数据操作主要有两个地方,一个是短信操作,还有一个通讯录操作,两种编码略有差别:1、短信息操作:

在短信息中,默认一条短信的最大长度为140个字节。

纯ASCII字符主要采用7-bit编码格式,即只是利用了字符的后7位数据,这样160个ASCII字符只占用140个字节。这样我们手机的一条短信就可以发送160个ASCII字符了。

包含汉字的字符采用UCS2编码格式,即UNICODE的2字节编码格式。样每个字符占用两个字节,只要短信中包含中文,整条短信的字符都要采用UCS2编码,这样一条短信最多就只能发送70个字符了。2、通讯录操作:

通讯录中的姓名长度限制不一样,本人使用的TD模块限制长度为14个字节。

单独的ASCII字符正常都使用8-bit编码格式,即每个字节都占用8位,这也是最为正常的存储格式了。

如果包含中文等字符,则正常采用80编码格式,即整个姓名字符以80开头,后面跟上UCS2数据,但有些情况下又会采用81或者82开头。

a)80开头:

80开头的为ucs2格式(注意:后面的字符必须有中文才行,否则可能是以80开头的纯ASCII字符串),大头在前,小头在后。

例1:中国

UNICODE编码为:4E2D56FD

用ucs2的80方案表示是:804E2D56FD

例2:杜10娘

UNICODE编码为:675C003100305A

用ucs2的80方案表示是:80675C

显然只要有中文,数字也得占用两个字节。

b)81开头:

81开头的格式中,包含一个基址(一个字节)。有这个基址,就可以用一个字节表示一个ucs2字符了。

在格式上,81是标识,后一个字节表示整个字符串长度,再后面一个字节是基址,再往后的就都是数据了。先举一例:

例3:杜杜杜

UNICODE编码为:675C

用ucs2的80方案表示是:80

用ucs2的81方案表示是:8103CEDCDCDC

分析一下UCS2的81方案:8103CEDCDCDC

81:为标记

03:表示整个字符串为3个字符

CE:一个字节为基址。解析的方法为:将基址(CE)左移七位,并将最高位置为0,最低位再补一个0(这样就16位啦)。此时基

址变为0x6700,然后再判断后面的数据字节。

DCDCDC:3个数据字节DC,DC,DC。如果数据字节的最高位为0,则认为此字节是一个ASCII字符。如果数据字节的最高位为

1,则低7位为基址的一个偏移,实际的UCS2字符为基址加上这个偏移值。由于此处三个数据字节最高位都为1,则实际的3个字符的

偏移值为:5C,5C,5C。实际的UCS2编码为:0x675C0x675C0x675C,此处我们就看的明白了。

例4:一丁丂七丄丅

(注:这些字符属于GBK字符集)

UNICODE编码为:4E004E014E024E034E044E05

用ucs2的80方案表示是:804E004E014E024E034E044E05

用ucs2的81方案表示是:81069C

分析一下UCS2的81方案:81069C808182838485

81:为标记

06:表示整个字符串为6个字符

9C:一个字节为基址。解析的方法为:将基址(9C)左移七位,并将最高位置为0,最低位再补一个0(这样就16位啦)。此时基址

变为0x4E00,然后再判断后面的数据字节。

808182838485:6个数据字节80,81,82,83,84,85。由于此处六个数据字节最高位都为1,则实际的6个字符的偏移值为:00,

01,02,03,04,05。实际的UCS2编码为:0x4E00,0x4E01,0x4E02,0x4E03,0x4E04,0x4E05。OK。

c)82开头:

82开头的格式中,包含一个基址(两个字节)。有这个基址,就可以用一个字节表示一个ucs2字符了。

在格式上,81是标识,后一个字节表示整个字符串长度,再后面两个字节是基址,再往后的就都是数据了。先举一例:

例5:8025EF芳

UNICODE编码为:00380030003200350045004682B3

用ucs2的80方案表示是:8000380030003200350045004682B3

用ucs2的81方案表示是:(因为格式的限制,最多容纳128个中文和127个英文,所以此处无法用81格式表示)

用ucs2的82方案表示是:82078280383032354546B3

分析一下UCS2的82方案:82078280383032354546B3

82:为标记

07:表示整个字符串为7个字符

8280:两个字节为基址。

383032354546B3:7个数据字节38,30,32,35,45,46,B3。如果数据字节的最高位为0,则认为此字节是一个ASCII字符。如果

数据字节的最高位为1,低7位为基址的一个偏移,实际的UCS2字符为基址加上这个偏移值。由于此处七个数据字节的前六个字节最高

位为0,所以表示6个ASCII字符0x38,0x30,0x32,0x35,0x45,即8,0,2,5,E,F。第七个字节的最高位为1,则此数据的

偏移值为0x33,需要加上基址0x8280,UCS2编码为0x82B3(芳)

例6:杜杜1

UNICODE编码为:675C675C

用ucs2的80方案表示是:80675C

用ucs2的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论