【发布时间】:2012-07-21 18:10:22
【问题描述】:
问题很简单。我有一个 IMEI,我想从中检索一个 TAC。我该怎么做?如果我只有一个 IMEI,有没有办法识别 TAC 应该有多少位数字?是否需要明确知道设备的生产年份才能知道?
【问题讨论】:
-
你最后用了什么解决方案?
标签: mobile mobile-phones telecommunication imei
问题很简单。我有一个 IMEI,我想从中检索一个 TAC。我该怎么做?如果我只有一个 IMEI,有没有办法识别 TAC 应该有多少位数字?是否需要明确知道设备的生产年份才能知道?
【问题讨论】:
标签: mobile mobile-phones telecommunication imei
从头开始读取 8 位数字。 具有 6 位数字的 TAC 很少,而且在过去(自 2004 年以来)。
但为了安全起见,你可以分析两次,从最长的版本开始,然后使用short。如果您找到手机型号,则使用该 TAC。如果不是,则使用 8 位数字,因为旧手机是众所周知的(在大多数情况下)。
要将 tac 转换为手机型号,请使用数据库:
【讨论】:
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 了解更多信息。
【讨论】: