Skip to content

手机号码归属地查询。高效查询,占用内存极少,600k左右。

License

Notifications You must be signed in to change notification settings

hejeffery/PhoneNumberAreaQuery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PhoneNumberAreaQuery

Build Status Travis npm

手机号码归属地查询

用c写的手机号码归属地查询。归属地的数据来源于百度。数据最新的更新日期:2017年03月04日。总共有324110条数据。

##编译要求 Xcode4+, OS X 10.7+

##项目结构 ###source

  • PhoneNumberAreaQuery.c。包含处理原数据,和查询的方法

###resource

  • phone_number_area.txt 手机号码归属地原数据
  • phone_number_area_sorted.txt 排序后的手机号码归属地原数据
  • phone_number_area_binary 手机号码归属地的二进制文件,用来真正查找的数据文件

##整体思路

  • 用二分查找法在排序后的二进制归属地文件中查找。
  • 1.对phone_number_area.txt文件中的数据进行排序,并输入到phone_number_area_sorted.txt中
  • 2.创建一个结构体,封装数据
  • 3.创建一个结构体数组,从phone_number_area_sorted.txt中加载数据,初始化结构体数组中的每一个数据,并把结构体数组写入phone_number_area_binary中
  • 4.通过fseek和fread两个函数进行二分查找

##优势和劣势

  • 优势:占用内存极少,600k左右。
  • 劣势:生成的二进制文件过大,23m左右。如果把该文件放入iOS或者是android的项目中,会增大打包后的体积。

##注意

  • 注意项目运行中一定要修改相应的文件路径。

##后期的优化

  • 优化生成的二进制文件大小

About

手机号码归属地查询。高效查询,占用内存极少,600k左右。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages