15872207229现手机归属地地?

项目需要实现来电归属地查询,所以就找到了下面这个文章
原理主要在(一)和(二)中,作者的数据压缩思路很给力,将6M的原始文本数据压缩到400kb左右,原作者已经将分析讲的很清楚了,这里提炼一下要点,并将c++实现转化成java实现。
1、压缩主要通过减小数据冗余完成;
2、原始数据格式:手机号码前7位,城市名
3、数据冗余点,手机号码有递增规律、城市重复排列
4、将手机号码的排列转换为号码区间,城市名建索引
5、号码区间用2个short,城市索引用1个short
6、为了查询的效率,原始数据按号码递增排列,这样查询的时候能够用二分快速查找
下面是原文中的一张图,可以更好的理解数据的存储结构
private static void convertTXTtoDAT() {
File readFile = new File(CONVERT_TXT_NAME);
if (!readFile.exists()) {
System.out.println(CONVERT_TXT_NAME + & not exist&);
File writeFile = new File(OUTPUT_FILE_NAME);
writeFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
if (!writeFile.exists()) {
System.out.println(OUTPUT_FILE_NAME + & not create!&);
CityCollector cityCollector = new CityCollector();
BufferedReader reader =
RandomAccessFile writer =
reader = new BufferedReader(new FileReader(readFile));
writer = new RandomAccessFile(writeFile, &rw&);
int count = 0;
writer.writeInt(count);
String data = reader.readLine();
String[] content = data.split(&,&);
int number = Integer.parseInt(content[0]);
String cityName = content[1];
int cityIndex = cityCollector.putCity(cityName);
NumberCompressor compressor = new NumberCompressor(number,
cityIndex);
while ((data = reader.readLine()) != null) {
content = data.split(&,&);
if (content.length != 2) {
number = Integer.parseInt(content[0]);
cityName = content[1];
cityIndex = cityCollector.putCity(cityName);
if (cityIndex == compressor.getCityIndex()
&& number - compressor.getCurrentNumber() == 1) {
compressor.increaseSkipNum();
writer.writeShort(compressor.getStartNum());
writer.writeShort(compressor.getAfterNum());
writer.writeShort(compressor.getCityIndex());
compressor = new NumberCompressor(number, cityIndex);
writer.writeShort(compressor.getStartNum());
writer.writeShort(compressor.getAfterNum());
writer.writeShort(cityIndex);
writer.seek(0);
writer.writeInt(count);
writer.seek(writer.length());
writer.write(cityCollector.getFormatCityByte());
} catch (IOException e) {
} finally {
if (reader != null) {
reader.close();
} catch (IOException e) {
e.printStackTrace();
if (writer != null) {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}其中CityCollector是存储城市信息的工具类,按顺序存储城市名,并返回其索引,最后和号码数据一起存入文件public class CityCollector {
* 将城市存储长度固定,便于查找时的快速定位,可以按需要修改
public static final int MAXCITYLENGTH = 34;
private ArrayList&String& mCityList = new ArrayList&String&();
public CityCollector() {
public byte[] getFormatCityByte() {
ByteBuffer buffer = ByteBuffer.allocate(mCityList.size() * MAXCITYLENGTH);
int size = mCityList.size();
for (int i = 0; i & ++i) {
buffer.position(MAXCITYLENGTH * i);
buffer.put(mCityList.get(i).getBytes());
return buffer.array();
public int putCity(String city) {
int cityIndex = mCityList.indexOf(city);
if (cityIndex != -1) {
return cityI
mCityList.add(city);
return mCityList.size() - 1;
}NumberCompressor是为实现号码压缩存储的一个结构,包括一个号码区间的起始号,该区间的号码数量,和区间的城市索引(一个区间内的号码在同一个城市)public class NumberCompressor {
private int mBeginN
private int mSkipNum = 0;
private int mCityI
public NumberCompressor(int number, int cityIndex) {
mBeginNum =
mCityIndex = cityI
public void increaseSkipNum() {
public int getCurrentNumber() {
return mBeginNum + mSkipN
public int getCityIndex() {
return mCityI
public int getStartNum() {
return mBeginNum / 100;
public int getAfterNum() {
return mBeginNum % 100 + mSkipNum * 100;
}查找就是存储的逆向过程,由于数据是有序存储的,所以这里查找用二分实现,如下private static String searchNumberLocation(int number) {
File file = new File(OUTPUT_FILE_NAME);
RandomAccessFile readFile =
String result =
readFile = new RandomAccessFile(file, &r&);
int count = readFile.readInt();
int left = 0;
int right = count - 1;
int blockSize = 3 * 2; // 3 * short
while (left &= right) {
int middle = (left + right) / 2;
readFile.seek(4 + middle * blockSize); // 4 is the count(int)
int firstNum = readFile.readShort();
int secondNum = readFile.readShort();
int beginNum = firstNum * 100 + secondNum % 100;
int endNum = beginNum + secondNum / 100;
if (number & beginNum) {
right = middle - 1;
} else if (number & endNum) {
left = middle + 1;
int cityIndex = readFile.readShort();
readFile.seek(4 + count * blockSize + cityIndex
* CityCollector.MAXCITYLENGTH);
byte[] b = new byte[CityCollector.MAXCITYLENGTH];
readFile.read(b);
result = new String(b).trim();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
if (readFile != null) {
readFile.close();
} catch (IOException e) {
e.printStackTrace();
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:198628次
积分:2867
积分:2867
排名:第5899名
原创:76篇
评论:134条
文章:10篇
阅读:36182
(1)(1)(5)(4)(1)(1)(3)(2)(5)(3)(2)(2)(2)(3)(6)(1)(2)(3)(3)(3)(1)(5)(2)(5)(5)(3)(2)(2)(4)(2)(4)手机号码归属地查询,是查询现在的归属地还是号码原来的归属地?_百度知道
手机号码归属地查询,是查询现在的归属地还是号码原来的归属地?
提问者采纳
他是不会变的。查手机号的原来的归属地。。------所以
其他类似问题
为您推荐:
其他2条回答
手机号码在哪办理的~就显示哪里是归属地~比如~你在广州办理的号码~显示的归属地就一直是广州~
号码归属地是移动通信公司分配的、并且不可以更改,所以不存在以前或者现在的问题喔。
手机号码归属地查询的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁手机号码归属地查询C程序实现 - 下载频道 - CSDN.NET
&&&&手机号码归属地查询C程序实现
&手机号码归属地查询C程序实现
c语言实现的手机号码归属地查询代码,内包含130-139的txt数据库。暂时不包含15几的号码。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
评价资源返积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
积分不够下载该资源
如何快速获得积分?
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
手机号码归属地查询C程序实现
所需积分:0
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
各位机油们,大家平时在打电话的时候应该都会看到拨打号码显示的归属地,
不知道有没有发现一些号码的归属地显示错误其它城市或者是显示未知的呢?
如果发现有这样的情况请给我们提供出来,完善我们的来电归属地数据,让大家有一个完整归属地的显示。(仅针对MIUI ROM)
纠错有奖励哦
中国电信.png (18.02 KB, 下载次数: 24)
中国联通.gif (3.66 KB, 下载次数: 19)
中国移动.jpg (7.02 KB, 下载次数: 22)
来电归属地有什么用呢?
我们看归属地可以知道电话号码是哪里的,大概猜想对方也会是那里的人;
知道你打的电话是不是长途,要不要加上IP拨号,这可省了不少话费呢。
号码小知识:手机号码是怎么组成的
手机号码数字是由11位数字组成,前3位是网络识别号,可以判定是哪家运营商的。
电信:手机号码开头数字 常见的是189
联通:手机号码开头数字 常见的是130、131、132、186
移动:手机号码开头数字 常见是135、136、139、159、182、183、187、188
第4-7位是地区编码,可以判定你所在的地区,第8-11位是用户号码,作为你自己身份的识别。
如果是国际号码的话还在前面加国际区号,如中国+86。
MIUI ROM归属地错误地址:&&
以后要开始带号转网了怎么办,到时显哪个运营商!最初的,还是现在的,这谁能分得清&
建议你们启用搜狗号码通的归属地数据吧,自带的太差了&
真的可以加入运营商的,大家的呼声啊!&
严重要求加入运营商显示~&
已有&68&人评分
MIUI 因你更精彩!
MIUI v4稳定版不在更新,那手机号码归属数.
MIUI 因你更精彩!
表示我提供的从未见更新
MIUI 因你更精彩!
MIUI 因你更精彩!
MIUI 因你更精彩!
感谢分享^_^
感谢分享^_^
强烈要求运营商显示啊
感谢分享^_^
我们回复,关键是开发组回去看回帖吗@@@@@.
感谢分享^_^
希望小米可以增加运营商显示功能.
MIUI 因你更精彩!
MIUI 因你更精彩!
1、希望可以加入运营商显示
2、归属性单独.
运营商,开发组都瞎了眼吗,看不到大家需要.
MIUI 因你更精彩!
加入运营商显示还是蛮实用的,希望能有。.
经验&+100&
欢迎关注MIUI-团支书
经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
七月份收集至此
欢迎关注MIUI-团支书
经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
8月份收集至此
欢迎关注MIUI-团支书
经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
九月份数据收集至此
欢迎关注MIUI-团支书
经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
10月份收集至此
欢迎关注MIUI-团支书
经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
十一月份收集至此
欢迎关注MIUI-团支书
经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
十二月份手机至此
欢迎关注MIUI-团支书
经验6790 米
威望185 米
在线时间519 小时
积分 9584, 距离下一级还需 10416 积分
积分 9584, 距离下一级还需 10416 积分
机型小米手机2/2S
签到次数18
MIUI版本3.8.6
1月份收集至此
“你不是上天宠爱的那个人,所以才会等到今天” 这话在理
经验122858 米
威望1066 米
在线时间6556 小时
机型小米手机3/4 WCDMA版
签到次数214
MIUI版本5.7.7
3月份收集至此
欢迎关注MIUI-团支书
经验6790 米
威望185 米
在线时间519 小时
积分 9584, 距离下一级还需 10416 积分
积分 9584, 距离下一级还需 10416 积分
机型小米手机2/2S
签到次数18
MIUI版本3.8.6
四月份收集至此
“你不是上天宠爱的那个人,所以才会等到今天” 这话在理
经验566 米
在线时间87 小时
机型小米手机2/2S 特别版
签到次数29
MIUI版本5.1.9
本帖最后由 穿长靴的猫 于
15:46 编辑
2013.5 统计至此
经验566 米
在线时间87 小时
机型小米手机2/2S 特别版
签到次数29
MIUI版本5.1.9
2013.6统计至此
经验566 米
在线时间87 小时
机型小米手机2/2S 特别版
签到次数29
MIUI版本5.1.9
经验566 米
在线时间87 小时
机型小米手机2/2S 特别版
签到次数29
MIUI版本5.1.9
经验566 米
在线时间87 小时
机型小米手机2/2S 特别版
签到次数29
MIUI版本5.1.9
经验3767 米
在线时间341 小时
机型小米手机3/4 WCDMA版
签到次数100
MIUI版本5.7.8
号码前7位:1878943
运营商:中国移动
正确的归属地城市:陕西西安
正确的归属地区号:029
错误显示:海南
永远相信美好的事情即将发生
Always believe that something wonderful is about to happen
经验3767 米
在线时间341 小时
机型小米手机3/4 WCDMA版
签到次数100
MIUI版本5.7.8
号码前7位:1867997
运营商:中国联通
正确的归属地城市:江西赣州
正确的归属地区号:0797
错误显示:江西萍乡
永远相信美好的事情即将发生
Always believe that something wonderful is about to happen
经验3767 米
在线时间341 小时
机型小米手机3/4 WCDMA版
签到次数100
MIUI版本5.7.8
号码前7位:1866627
运营商:中国联通
正确的归属地城市:广东广州
正确的归属地区号:020
错误显示:广东阳江
永远相信美好的事情即将发生
Always believe that something wonderful is about to happen
经验9655 米
在线时间975 小时
版本5.6.16
MIUI荣誉成员
积分 12124, 距离下一级还需 7876 积分
积分 12124, 距离下一级还需 7876 积分
机型索尼Z2
签到次数80
MIUI版本5.6.16
把UC来电通的数据包解开,里面很全面的,拿来主义也很不错的!(*^__^*) 嘻嘻……
已有&5&人评分
怎么把UC到MIUI
怎么找到来电通的归属地数据库 classes.dex.
miui做不到来电通做的?不信~~
路过不加分的都不厚道
经验26160 米
威望398 米
在线时间2498 小时
版本V6.5.4.0.KXECNCD
买了N9002,再也用不上miui了……
机型小米Note 移动4G/联通4G
签到次数47
MIUI版本V6.5.4.0.KXECNCD
本帖最后由 紫天玄 于
17:27 编辑
已有&1&人评分
miui极客播报有自己的微博了,,数码新闻早知道
[url=/forum.php?mod=forumdispla
经验24598 米
威望1072 米
在线时间7906 小时
版本5.6.23
机型小米Note
签到次数152
MIUI版本5.6.23
目前还没有发现错误的也。。。。
已有&1&人评分
经验517 米
在线时间103 小时
版本3.9.13
积分 583, 距离下一级还需 1417 积分
积分 583, 距离下一级还需 1417 积分
机型小米手机1/1S
签到次数52
MIUI版本3.9.13
本帖最后由 藤和エリオ 于
17:34 编辑
号码前7位:1866682××××运营商:联通正确的归属地城市:深圳正确的归属地区号:0755错误显示:广东茂名
已有&3&人评分
MIUI 因你更精彩!
感谢分享^_^
经验652 米
在线时间113 小时
版本10.12.00
积分 786, 距离下一级还需 1214 积分
积分 786, 距离下一级还需 1214 积分
机型小米手机2/2S
MIUI版本10.12.00
香港用戶表示沒問題
已有&1&人评分
羡慕嫉妒恨
经验610 米
在线时间56 小时
积分 722, 距离下一级还需 1278 积分
积分 722, 距离下一级还需 1278 积分
机型索爱LT18i
签到次数22
目前好像都没有错哦·····
你粉我,我粉你
经验39698 米
威望138 米
在线时间6045 小时
谷歌定位为:北京
机型小米手机4
签到次数201
MIUI版本5.7.7
北京银行的客服电话换了,团子去反映一下,具体号码我忘记了,v4的大黄页没换
已有&1&人评分
经验152 米
在线时间38 小时
积分 213, 距离下一级还需 287 积分
积分 213, 距离下一级还需 287 积分
机型小米手机1/1S
MIUI版本3.4.5
本帖最后由 lanskyler 于
17:40 编辑
号码前7位:
运营商:未知
正确的归属地城市:未知
正确的归属地区号:未知
错误显示:广东广州
附:拨打回去,查无此号!不知道是不是网络电话。12580查询是查不到归属地的!
& && &LZ&&查查
已有&1&人评分
http://kong./data/shaoimg/18/myphonesbbs_957718.jpg?14816
经验4216 米
在线时间387 小时
版本4.3.28
积分 5383, 距离下一级还需 14617 积分
积分 5383, 距离下一级还需 14617 积分
机型小米手机1/1S
签到次数97
MIUI版本4.3.28
号码前7位:1831752
运营商:中国移动
正确的归属地城市:河南洛阳
正确的归属地区号:
错误显示:无归属地显示
已有&1&人评分
小米平板首发纪念勋章
小米平板首发纪念勋章
小米手机1终身荣誉勋章
小米手机1终身荣誉勋章
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
MIUI6 荣誉勋章
MIUI6 荣誉勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 100周
100周发布纪念勋章
MIUI俱乐部发烧友
MIUI俱乐部发烧友
小米手机元器件合体活动勋章
小米求合体勋章
一周年纪念勋章
一周年纪念勋章
小米手机2终身荣誉勋章
小米手机2终身荣誉勋章
MIUI三周年
MIUI三周年纪念勋章
已关注微信
已关注极客秀微信
社区VIP贵宾专属
百万壁纸评审纪念勋章
疾风测评勋章
资源疾行活动限定勋章
歪歪互动达人
歪歪互动达人
Copyright (C) 2015 MIUI 京ICP备号来电显示的那个归属地是给我打电话的人现在所在的地点还是买号码的位置?_百度知道
来电显示的那个归属地是给我打电话的人现在所在的地点还是买号码的位置?
提问者采纳
当你手机作为被叫的时候,这数据可共享,要运营商向被叫推送这个归属地数据,为开户所在地,你手机根据H码就知道对方主叫的号码归属为哪里,你显示的对端中文归属地址,H码工信部有备案并管理,当然,不是运营商推送过来给你的数据,泛指主叫号码H码归属地。因为这涉及到主叫的隐私,这个涉及跨局漫游。符合规则它就显示对应的汉字。至于显示打电话就显示位置的软件,并给你显示出来。可以实现但技术相比第一种要复杂,目前运营商没有针对被叫提供这个服务分两个概念,所以你手机的数据里面有这个H码的归属数据,目前来电归属地,是你手机里面本来就有这个小数据库,你才可以显示
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
为您推荐:
其他11条回答
是手机号码所属城市的名称不是号码所在位置得名称! 一般在哪里买的卡就归属于那个城市!
电话号码所属地区,与使用者的所处位置无关。
买号码的城市
是卡本身所注册的位置,就算再山东,一样能买到广东的卡。
买号码的位置
号码归属地
号码的位置
买号码的位置
是买号码的那个地方,是该号码登记的地方
归属地的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 手机归属地 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信