我正在构建一个应用程序来读取SIM EF文件。从3G TS 31.102起,我试图解析EF ADN文件。
根据EF ADN的规范,
1至X Alpha标识符O X字节
X + 1 BCD编号/ SSC内容的长度M 1字节
X + 2 TON和NPI M 1字节
X + 3至X + 12拨号号码/ SSC字符串M 10字节
X + 13功能/配置标识符M 1个字节
X + 14 Extension1记录标识符M 1个字节
我无法获得-> BCD号码/ SSC内容长度的编码。 在规范中,编码是根据GSM 04.08进行的,但我找不到。
答案 0 :(得分:0)
有一个很好的实用程序class用于BCD操作进行测试。假设您要询问如何获取缩位拨号号码的BCD数字的长度。 ADN编号可以是3-4位数字,如果将它们写为BCD,则它们将是2个字节长,因为每个BCD数字都是4位半字节,在TON / NPI字节之后,您应该读取N个字节并将其转换为十进制值>
byte[] bcds = DecToBCDArray(211);
System.out.println("BCD is "+ Hex.toHexString(bcds));
System.out.println("BCD length is "+ bcds.length);
System.out.println("To decimal "+ BCDtoString(bcds));