sim卡姓名长度最大为14字节可以输入11个相同汉字

[DESCRIPTION]
 
SIM卡记录名字的最大长度是14 ,可以输入14个字符,输入中文是可以输入6个,但是如果是相同的汉字 ,可以输入11个。如,可以保存"天天天天天天天天天天天" ,但只能保存"天天天天天气”
 
[SOLUTION]
 
sim联系人的中文编码采用UCS2 0x81编码. 编码格式为,14个字节,前两个字节表示编码方式和长度.一个汉字占用两个字节.  当输入全部相同的汉字时,将采用基址偏移的方式,第三个字节为基址, 后面11个字节则是通过基址偏移对应的unicode编码. 所以,当输入相同的汉字,最多可以存储11个汉字.
 
例如,  杜杜杜

UNICODE编码为:675C675C675C

用UCS2的81方案表示是:8103CEDCDCDC

81为标记

03表示整个字符串为3个字符

CE一个字节为基址。解析的方法为:将基址(CE)左移七位,并将最高位置为0,最低位再补一个0.此时基址变为0x6700,然后再判断后面的数据字节。

DCDCDC3个数据字节 DC, DC, DC 。如果数据字节的最高位为0,则认为此字节是一个ASCII字符。如果数据字节的最高位为1,则低7位为基址的一个偏移,实际的UCS2字符为基址加上这个偏移值。由于此处三个数据字节最高位都为1,则实际的3个字符的偏移值为:5C, 5C, 5C。实际的UCS2编码为: 0x675C 0x675C 0x675C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值