Mobile 如何从IMEI检索TAC?

Mobile 如何从IMEI检索TAC?,mobile,mobile-phones,telecommunication,imei,Mobile,Mobile Phones,Telecommunication,Imei,问题很简单。我有一个IMEI,我想从中检索一个TAC。我怎么做?如果我只有一个IMEI,有没有办法识别TAC应该有多少个数字?是否需要明确知道设备的生产年份才能知道它?从开始读取8位数字。 6位数的TAC很少出现,而且是过去的(自2004年以来) 但为了安全起见,您可以分析两次,从最长版本开始,然后使用最短版本。如果你找到了手机型号,那么你就用那个TAC。如果不是,则使用8位数字,因为旧手机是众所周知的(在大多数情况下) 要将tac转换为手机型号,请使用数据库: -付费,可下载CSV示例文件

问题很简单。我有一个IMEI,我想从中检索一个TAC。我怎么做?如果我只有一个IMEI,有没有办法识别TAC应该有多少个数字?是否需要明确知道设备的生产年份才能知道它?

从开始读取8位数字。 6位数的TAC很少出现,而且是过去的(自2004年以来)

但为了安全起见,您可以分析两次,从最长版本开始,然后使用最短版本。如果你找到了手机型号,那么你就用那个TAC。如果不是,则使用8位数字,因为旧手机是众所周知的(在大多数情况下)

要将tac转换为手机型号,请使用数据库:

  • -付费,可下载CSV示例文件
  • -免费一个,但有验证码
  • -免费一个,可下载CSV
  • -“官方”imei数据库。需要题字

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';
如果substr(IMEI,1,2)='01'和substr(IMEI,1,8)<'01015900'/*CTIA*/
或substr(IMEI,1,2)='35'和substr(IMEI,1,8)<'35150100'/*GSMA*/
然后TAC_TYPE='6位';
else TAC_类型='8位';
这些范围是由我个人检查TAC代码表确定的,不能保证


有关更多信息,请参阅。

感谢您提供的一段代码,但这是我最关心的问题-如何识别TAC类型(6或8位)。我最关心的是如何识别TAC类型-6或8位。根据您的说法,有必要参考设备数据库来执行此操作。谢谢。你最后用了什么解决方案?