2012-07-23 143 views
4

問題很簡單。我有一個IMEI,我想從中檢索一個TAC。我該怎麼做?如果我只有一個IMEI,有沒有一種方法可以識別TAC應該有多少位數?是否有必要明確知道設備的生產年份以瞭解它?如何從IMEI檢索TAC?

+0

你最終使用了什麼解決方案? – John 2015-04-21 08:32:09

回答

4

從頭開始讀取8位數字。 6位數的TAC很少,並且是過去的(自2004年以來)。

但是爲了安全起見,您可以分析兩次,並從最長的版本開始,然後使用較短的版本。如果您找到手機型號,那麼您使用該TAC。如果不是,則使用8位數字,因爲舊手機是衆所周知的(在大多數情況下)。

要變換TAC到手機型號使用的數據庫:

+0

我主要關心的是如何識別TAC類型 - 6或8位數字。據你介紹,有必要參考設備數據庫來做到這一點。謝謝。 – 2012-09-14 14:23:58

4

IMEI號碼的前八位數字是TAC碼。在2004年之前,前六位數字是實際的設備標識符,接下來的兩位是代表設備製造地點的最終組裝代碼(FAC)。從那時起,FAC部分就被放棄了。

TAC代碼由兩個權威機構(北美CTIA和其他地區的GSM協會)頒發,由前兩位數字標識。由於TAC代碼是按順序發佈的,因此您可以測試位置3至6以識別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

+0

感謝您的一段代碼,但這是我的主要擔憂 - 我如何識別TAC類型(6或8位數字)。 – 2012-09-14 10:40:22