首页 > 代码库 > sim卡中电话本(ADN)的简要格式

sim卡中电话本(ADN)的简要格式

ADN的格式

ADN存放于sim卡下面3f00/7f10/6f3a,记录文件格式,其最小记录格式为14,最长为255(?),记录个数最大为255(?)

其后数14个字节是必有的,其前12个字节是电话号码,倒数第一个是ext1,倒数第二个是ccp1

如果长度超过14个,则前面的存储的用户的姓名,如果以80,81,82开头,存放的是ucs2格式的姓名,否则是英文格式的串。

示例如下。

 

//Reset

3B 7B 11 22 33 00 01 02 03 04 05 06 07 08 09 0A

 

//SELECT

A0 A4 00 00 02 3F 00

9F 17

//A0 A4 00 00 02 是命令头,CLA = A0表示GSM应用,INS = A4 表示SELECT,P1 P2 = 00 00 是参数,P3 = 02 是数据的长度(或返回数据的长度)表示(2 )

//选择文件,选中文件为3F 00 代表MF

//9F 17 是返回状态,表示---成功,有23 个字节的信息等待GET RESPONSE

 

//SELECT

A0 A4 00 00 02 7F 10

9F 17

//A0 A4 00 00 02 是命令头,CLA = A0表示GSM应用,INS = A4 表示SELECT,P1 P2 = 00 00 是参数,P3 = 02 是数据的长度(或返回数据的长度)表示(2 )

//选择文件,选中文件为7F 10 代表TELECOM

//9F 17 是返回状态,表示---成功,有23 个字节的信息等待GET RESPONSE

 

//SELECT

A0 A4 00 00 02 6F 3A

9F 0F

//A0 A4 00 00 02 是命令头,CLA = A0表示GSM应用,INS = A4 表示SELECT,P1 P2 = 00 00 是参数,P3 = 02 是数据的长度(或返回数据的长度)表示(2 )

//选择文件,选中文件为6F 3A 代表ADN[CDMA-PL]

//9F 0F 是返回状态,表示---成功,有15 个字节的信息等待GET RESPONSE

 

//GET RESPONSE

A0 C0 00 00 0F

00 00 1B 58 6F 3A 04 00 11 FF 22 01 02 01 1C

90 00

//A0 C0 00 00 0F 是命令头,CLA = A0表示GSM应用,INS = C0 表示GET RESPONSE,P1 P2 = 00 00 是参数,P3 = 0F 是数据的长度(或返回数据的长度)表示( 15 )

//返回数据见上,其中

//--00 00 保留

//--1B 58 占用的空间大小,表示7000字节

//--6F 3A 选中File的ID

//--04 选中文件的类型,01-MF, 02-DF, 04-EF

//--00 见11.11 9.2.1 detail 3

//--11 FF 22 访问权限

//--01 文件状态,见11.11 9.3

//--02 后面数据的长度,表示2

//----01 文件结构,见11.11 9.3

//----1C 记录长度,见11.11 9.2.1 detail 4

//90 00 是返回状态,表示---成功

 

//READ RECORD

A0 B2 01 04 1C

80 5F 20 4E 09 FF FF FF FF FF FF FF FF FF 05 81 11 22 33 44 FF FF FF FF FF FF FF FF

90 00

//A0 B2 01 04 1C 是命令头,CLA = A0表示GSM应用,INS = B2 表示READ RECORD,P1 P2 = 01 04 是参数,P3 = 1C 是数据的长度(或返回数据的长度)表示( 28 )

//读记录,P2 = 04 表示绝对记录号,P1 = 01 为记录号,表示第1 条记录P3 = 1C 表示后面的数据长度为28

//这是一条ADN,姓名 "张三",电话号码 11223344

//90 00 是返回状态,表示---成功

 

//READ RECORD

A0 B2 02 04 1C

80 67 4E 56 DB FF FF FF FF FF FF FF FF FF 05 81 55 66 77 88 FF FF FF FF FF FF FF FF

90 00

//A0 B2 02 04 1C 是命令头,CLA = A0表示GSM应用,INS = B2 表示READ RECORD,P1 P2 = 02 04 是参数,P3 = 1C 是数据的长度(或返回数据的长度)表示( 28 )

//读记录,P2 = 04 表示绝对记录号,P1 = 02 为记录号,表示第2 条记录P3 = 1C 表示后面的数据长度为28

//这是一条ADN,姓名 "李四",电话号码 55667788

//90 00 是返回状态,表示---成功

 

//READ RECORD

A0 B2 03 04 1C

4A 65 6E 6E 79 FF FF FF FF FF FF FF FF FF 06 81 00 10 11 22 F2 FF FF FF FF FF FF FF

90 00

//A0 B2 03 04 1C 是命令头,CLA = A0表示GSM应用,INS = B2 表示READ RECORD,P1 P2 = 03 04 是参数,P3 = 1C 是数据的长度(或返回数据的长度)表示( 28 )

//读记录,P2 = 04 表示绝对记录号,P1 = 03 为记录号,表示第3 条记录P3 = 1C 表示后面的数据长度为28

//这是一条ADN,姓名 "Jenny",电话号码 000111222

//90 00 是返回状态,表示---成功

 

//READ RECORD

A0 B2 04 04 1C

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

90 00

//A0 B2 04 04 1C 是命令头,CLA = A0表示GSM应用,INS = B2 表示READ RECORD,P1 P2 = 04 04 是参数,P3 = 1C 是数据的长度(或返回数据的长度)表示( 28 )

//读记录,P2 = 04 表示绝对记录号,P1 = 04 为记录号,表示第4 条记录P3 = 1C 表示后面的数据长度为28

//这是一条空ADN

//90 00 是返回状态,表示---成功

sim卡中电话本(ADN)的简要格式