background image

基于 android 获得 SIM 卡三种格式的 UCS2 编码

本文主要介绍如何获得字符的 80,81,82 格式编码,代码在 andoid 平台上

测试,成功存储联系人信息并成功解码。由于有些东西是自己研究所得,难免

会有错误,如有不实的地方,欢迎批评指正。

 

解码文件及方法:

frameworks/base/telephony/java/com/android/internal/telephony/uicc/

IccUtil.java 的 adnStringFieldToString()方法。

什么是 UCS2 编码?

UCS2(Unicode Character Set)是一种字符编码方式,2 代表一个字符编

码后为 2 个字节。

我们在 SIM 卡上存储联系人时就是使用 UCS2 编码。

SIM 卡上的 UCS2 编码主要有三种格式:80,81,82

下面说明每种格式的编码方式:

‘80’格式:

1.第一个字节为 0x80

2.之后的字节为 UCS 字符,每个字符占用 2 个字节。(在 android 平台上用

UTF-16BE 编码)。

例:东方不败

编码后的字符为:4e1c 65b9 4e0d 8d25

用 80 格式表示是:80 4e1c 65b9 4e0d 8d25

‘81’格式:

1. 第一个字节为 0x81

2.第二个字节为字符串长度

                     找软件资料,就到一览软件文库

http://wk.yl1001.com/rj/