IMEI码是"International Mobile Equipment Identity"的缩写,中文的意思是“国际移动设备识别码”,也俗称俗称"串号"存储在手机的EEPROM(俗称码片)里,每一个移动设备都对应一个唯一的IMEI。其组成结构为TAC(6位数字) FAC(两位数字) SNR(6位数字) SP (1位数字)。TAC(设备型号核准号码),由欧洲型号认证中心分配。(和我们网卡的MAC地址很相似)  

1.TAC:为设备型号核准号码,代表了手机的型号。各个手机品牌如诺基亚、爱立信或阿尔卡特,只要是同一型号的手机,TAC码一定是一样的,比如说笔者所见的几款阿尔卡特OT301的TAC码就都是332157。现在有不法商贩从广东那里买来旧机拆了机芯装换个壳子当新机卖,我们可以从TAC的差别中寻到其蛛丝马迹,只要你知道该型号手机的正确TAC编码一比较就知道了,因为旧机的型号一般都比较老了不会和现在比较流行的型号一样。  

2.FAC:为最后装配号码,代表了手机最后完成装配时是在什么地方,也就是最后装配的工厂在哪个国家或地区,一般不会具体的到哪个厂家,所以这并不是哪个国家制造的代号。不过,我们一般都将最后装配工序完成的工厂所在地当作手机产地,因此,FAC码也可以认为是手机产地的代号。现在各大手机厂商在国内都有自己的生产基地,生产中低档型号是没有问题的,所以你如果在国内买到这些品牌在国外的生产基地生产出来的中低档产品,那么这时候你就要当心一点了。因为国内还没有什么品牌的某款产品出现销售情况俏销至国内来不及生产要进口的状况。为防万一最好将将入网证放在验钞机下进行验证,如果入网证上显示出红色的 “CMII”的图案和一个不是很清晰的数字,则为正规入网证,否则可以肯定的判定为是水货的。    

3.SEN:为出厂序列号,代表了手机在手机的在工厂的编号。和其它产品的出厂序号一样,是为厂家的内部管理服务的,对我们一般用户并无多大意义。但是同一个牌子且同一型号的SN是不可能一样的,如果你发现有二支手机的SN是一模一样的话,那么其中一个至少有一个是假货了。

4.SPN:为备用号码,一般这个数字是零,当然也不都是,笔者的阿尔卡特OT301就是“4”,而像爱立信T18SC、T28SC以近的机型在IMEI码最后还加上了两位版本号码,这其实也是正常的,只要前面三个号码没问题这个就可以不管它了。应用实例。下面列出常见品牌产地代码数值及代表地区(摘自3G365智能手机网S60论坛)  

诺基亚:48、60、62、80、81、92、93-中国;06、07、08、20-法国;19、40、41、44-英国;10-芬兰;18-新加坡;30-韩国;67、68-美国;(10,70(改版?):芬兰;20:德国;30:韩国;40:北京;60:东莞。   

摩托罗拉: 07、08-德国;18-新加坡;40、41-苏格兰;44-英国;48-香港、东南亚改装机;67-美国;80、81、92、93-中国;68-美洲;06(部分),07,08:德国;17:马来西亚(杭州?);18:新加坡;40,41:苏格兰;44:英国;47:香港,东南亚改装机;48:大陆改装机;67:美国;68,美洲生产线;80,81,82:天津;92,93:杭州东信。  

爱立信 19-英国;51-瑞典;61-香港;62-中国;19:英国;42:爱沙尼亚;51:瑞典(南京?);61:香港;62:北京;71:马来西亚。  

其他品牌:西门子 37:上海;51:德国;松 下 62:北京;三星 89、90、92:韩国:飞利浦 69:深圳

下面是在J2ME中获得IMEI的方法:
1、 MOTO系列的手机可以通过读取系统的IMEI属性获得,代码如下:String imei = System.getProperty("IMEI");
2、 SIEMENS系列的手机可以通过读取系统的com.siemens.IMEI属性获得,代码如下:String imei = System.getProperty("com.siemens.IMEI");