45系列 西门子6618通讯录内部格式之详细解剖

本人通过对6618通讯录的格式做详细的“解剖” , 彻底分析出了通讯录的内部格式 。
本文可以供西门子的爱好者参考 , 当然对懂得软件编程的开发人员来说 , 我想应该是目前国内首次公开的宝贵的技术资料了 , 不知西门子会不会找我…… , ^_^
一、综述:
6618的通讯录是由三个文件组成的 , 放在动态内存的Address book目录下 , 这个目录是隐藏的 , 所以通过手机的文件管理器是看不到的 , 但通过数据线借助电脑 , 用DES软件可以清楚的看到这个隐藏目录以及这个目录里的三个文件 , 也是隐藏的 。
这个三个文件为别为5f02.adr, 7f02.adr, 9f02.adr 。
其中5f02是用来存放每一条通讯录的具体内容的 , 按条逐次存放 。我称之为记录文件 。
7f02.adr里存放的是每一条通讯录在5f02文件中的地址 , 便于检索 。我称之为索引文件 。
9f02.adr是由手机动态生成的 , 事实上备份通讯录只要拷贝前两个文件就可以了 。
二、6618通讯薄记录文件格式(5f02.adr):
5f02由文件头和其后的通讯录记录构成:
(一)、文件头:
总共48字节 。
头2字节:代表记录中包含字段的数目 , 一般为19个字段 , 即总为13 00;
依次2字节:代表通讯录中记录的个数;
剩余44字节总是:
00 00 01 00 01 00 13 01 93 01 13 01 93 02 13 01 13 01 93 00 4A 01 0A 02 4A 00 A9 00 A9 00 A9 00 A9 00 08 00 08 00 08 00 08 00 82 00
它们代表的意思是每条记录的各个字段具体的编码形式 , 是不变的 。
(二)、记录:
0.记 录 头:38字节 , 表示各字段在记录中的字节长度 , 用2个字节表示 , 依次为:名、姓、公司、街道、城市、国家、备用(一般为12 , 包括VIP , 名称前6字)、电子邮件、网址、邮政编码、私人电话、公司电话、移动电话、传真、四个电话存在标志、修改时间等19项 , 共占用38个字节;
1.名:在中国固定2字节 , 没有用这个字段总为00 00;
2.姓:长度按实际字数计 , 最长50字节 , 汉字内码 , 最长24个汉字 , 英文字符也按汉字存储 , 结束符为00 00 , 在中国代表姓名 , 无该项时长度为2即只含结束符;
3.公司名称:长度按实际字数计 , 最长34字节 , 汉字内码 , 最长16个汉字 , 英文字符也按汉字存储 , 结束符为00 00 , 无该项时长度为2即只含结束符;
4.街道:长度按实际字数计 , 最长82字节 , 汉字内码 , 最长40个汉字 , 英文字符也按汉字存储 , 结束符为00 00 , 无该项时长度为2即只含结束符;
5.城市:长度按实际字数计 , 最长34字节 , 汉字内码 , 最长16个汉字 , 英文字符也按汉字存储 , 结束符为00 00 , 无该项时长度为2即只含结束符;
6.国家:长度按实际字数计 , 最长34字节 , 汉字内码 , 最长16个汉字 , 英文字符也按汉字存储 , 结束符为00 00 , 无该项时长度为2即只含结束符;
7.备用:固定18字节 , 包含类型2字节 , 30为名片、31为VIP、32为普通 , 结束符为00;重复信息16字节 , 最多重复名字中的6个汉字 , 最后4个字节总为00;
8.电子邮件:长度按实际字数计 , 最长41字节 , ASCII码 , 最长40个字符 , 结束符为00 , 无该项时长度为1即只含结束符;
9.网址:长度按实际字数计 , 最长65字节 , ASCII码 , 最长64个字符 , 结束符为00 , 无该项时长度为1即只含结束符;
10.邮政编码:长度按实际字数计 , 最长9字节 , ASCII码 , 最长8个字符 , 结束符为00 , 无该项时长度为1即只含结束符;

推荐阅读