问题很简单。我有IMEI,我想从中检索TAC。我该怎么做?如果我只有一个IMEI,有没有办法识别TAC应该有多少位?有必要明确知道设备的生产年份吗?
答案 0 :(得分:5)
从头开始读取8位数字。 具有6位数字的TAC很少并且过去(自2004年以来)。
但为了安全起见,您可以分析两次,从最长版本开始,然后使用短版。如果您找到手机型号,那么您使用该TAC。如果没有,那么使用8位数,因为旧手机是众所周知的(在大多数情况下)。
将tac转换为手机型号使用数据库:
答案 1 :(得分:4)
IMEI号的前八位是TAC码。在2004年之前,前六位是实际的设备标识符,接下来的两位是表示设备制造地点的最终汇编代码(FAC)。从那时起,FAC部分已被删除。
TAC代码由两个机构颁发(北美的CTIA和其他地方的GSM协会),可通过前两位数字识别。由于TAC代码是按顺序发布的,因此您可以测试位置3到6以识别六位TAC代码。例如,我使用这样的代码:
if substr(IMEI,1,2) = '01' and substr(IMEI,1,8) < '01015900' /* CTIA */
or substr(IMEI,1,2) = '35' and substr(IMEI,1,8) < '35150100' /* GSMA */
then TAC_TYPE = '6-digit';
else TAC_TYPE = '8-digit';
这些范围是由我个人对TAC代码表的检查确定的,不能保证。
有关详细信息,请参阅this Wikipedia link。