问题很简单。我有一个 IMEI,我想从中检索一个 TAC。我该怎么做?如果我只有一个 IMEI,有没有办法识别 TAC 应该有多少位数字?是否需要明确知道设备的生产年份才能知道?
问问题
17044 次
2 回答
7
从头开始读取 8 位数字。具有 6 位数字的 TAC 很少见,而且在过去(自 2004 年以来)。
但是为了安全起见,你可以分析两次,从最长的版本开始,然后使用short。如果您找到手机型号,则使用该 TAC。如果不是,则使用 8 位数字,因为旧电话是众所周知的(在大多数情况下)。
要将 tac 转换为手机型号,请使用数据库:
http://www.numberingplans.com/ - 付费,带有可下载的 CSV 示例文件- http://imei-number.com/imei-number-lookup/ - 免费一个,但带有验证码
- http://tacdb.osmocom.org/ - 免费的,带有可下载的 CSV
- https://imeidb.gsma.com/imei/index - “官方”imei 数据库。需要铭文。
于 2012-08-28T17:30:43.627 回答
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 代码表确定的,不能保证。
有关更多信息,请参阅此 Wikipedia 链接。
于 2012-08-29T16:54:21.943 回答