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)的简要格式的更多相关文章
- SIM卡中UCS2编码的三种格式(80,81,82)分析
网上看到一篇比较好的说ucs2编码的文章,保存一下,原文地址: http://hi.baidu.com/youren4548/blog/item/fa08bd1bf61005058618bf1d.ht ...
- SIM卡读卡器的研究与设计
SIM卡(Subscriber Identity Module).即用户识别模块,是一张符合GSM规范的"智慧卡".SIM卡可以插入任何一部符合GSM规范的移动电话中," ...
- sim卡中的汉字存储格式
Sim卡中的ucs2格式 Sim卡中的中文都是以ucs2格式存储的,ucs2和unicode只是字节序不同,unicode是小头在前,ucs2是大头在前. Ucs2与GB2312互换可以用VC中的Wi ...
- android获取手机的所有通讯录的号码和sim卡号码
============personer================================================ package com.qgc.cantent.entity; ...
- android中判断sim卡状态和读取联系人资料的方法
在写程序中,有时候可能需要获取sim卡中的一些联系人资料.在获取sim卡联系人前,我们一般会先判断sim卡状态,找到sim卡后再获取它的资料,如下代码我们可以读取sim卡中的联系人的一些信息. Pho ...
- 十九、android中判断sim卡状态和读取联系人资料的方法
在写程序中,有时候可能需要获取sim卡中的一些联系人资料.在获取sim卡联系人前,我们一般会先判断sim卡状态,找到sim卡后再获取它的资料,如下代码我们可以读取sim卡中的联系人的一些信息. Pho ...
- SIM卡基础知识
一:了解Sim卡和GSM网络登录步骤的基本知识 (一)名词解释: SIM卡(Subscriber Identity Module),即用户识别卡,它是一张符合GSM规范的“智慧卡”,SIM卡有大小之分 ...
- SIM卡基础,各管脚意义,封装定义
1. SIM简介 SIM卡(Subscriber Identity Module).即用户识别模块,是一张符合GSM规范的"智慧卡".SIM卡可以插入任何一部符合GSM规范的移动电 ...
- Android--获取手机联系人和Sim卡联系人
最近公司做的一个放贷APP,要求后台偷偷获取用户的联系人来做风控,所以...(大家忽略就好) 获取手机联系人很简单,就是查询android的数据库,用到的是ContentProvider进行跨进程通讯 ...
随机推荐
- HDU 5256 - 序列变换 ,树状数组+离散化 ,二分法
Problem Description 我们有一个数列A1,A2...An,你现在要求修改数量最少的元素,使得这个数列严格递增.其中无论是修改前还是修改后,每个元素都必须是整数.请输出最少需要修改多少 ...
- 解决Qt中QTableWidget类方法setItem 时导致程序崩溃问题
在为一个音乐播放器增加功能时莫明奇妙的出现程序崩溃,定位到是由于QTableWidget 的setItem方法导致的,最终在此处找到了解决方式. 大致是说不能在setItem之前连接cellChang ...
- SQL Server2012 创建定时作业——图文并茂,教你轻松快速创建
SQL Server2012 如何创建定时作业?有兴趣的可以来看下,图文并茂哦! 1.首先我们打开SQL Server代理,里面选择作业 2.右键作业,选择新建作业 3.填写一些相应的内容,名称和说明 ...
- Javascript 链式运动框架——逐行分析代码,让你轻松了解运动的原理
所谓链式运动,就是一环扣一环.我们的很多运动实际上来说指的就是分阶段的,第一个阶段动完,下个阶段开始动. 这个链式运动框架就是用来处理这些问题的. 我们先来看下之前的运动框架,以下是Javascrip ...
- “如何稀释scroll事件”引出的问题
背景:我在segmentfault提了个问题如何稀释onscroll事件,问题如下: 面试时问到这个问题,是这样的: 面试官问一个关于滚动到某个位置的时候出现一个顶部的导航栏,答完之后,她接着问 ...
- vb combobox 用法问题总结
问题一 combobox 通过type类型,如下代码,通过选取name名称(改变combobox的名称)得到 其Id Type User id As Integer userName As Strin ...
- PBM文件格式
PBM是一种单色位图文件,常用于打印机,由于需要下面对PBM文件格式进行分析. 每个文件的开头两个字节(ASCII码)作为文件描述子,可以理解为文件头.具体如下: 头 类型 编码 P1 位图 ASCI ...
- html5介绍
html5与html4的区别 (h5 and h4) 什么是OPOA 1, 浏览器对h5的支持情况 2, 历史 --- h5 2004年,whatwg 提出 w ...
- network-manager与interfaces冲突
网络配置的两种方式 Ubuntu下修改网络配置有两种方式:图形界面方式(network-manager)和修改/etc/network/interfaces 但是如果两种方式的网络设置不同,就会产生冲 ...
- GIS 地图中术语解释
分辨率和像素的关系 像素是指照片的点数(表示照片是由多少点构成的),分辨率是指照片像素点的密度(是用单位尺寸内的像素点,一般用每英寸多少点表示--dpi).照片实际大小是像素决定的.一个像素很大的照片 ...