【Github】项目名:xluohome/phonedata – 手机号码归属地信息库与查询
项目简介
这是github上的一个项目,可能是能找到的最新最全的中国境内手机号归属地信息库,它基于GO语言实现,使用二分查找法。该信息库包含phone.dat文件,其最后更新于2023年02月,文件大小为4,484,792字节,手机号段记录条数达497191。phone.dat文件有特定格式,头部8个字节,版本号占4字节,第一个索引偏移占4字节,记录区每条记录格式为”<省份>|<城市>|<邮编>|<长途区号>\0″,索引区每条记录格式为”<手机号前七位><记录区的偏移><卡类型>”,每个索引长9个字节。
安装与使用
如果是在GO语言环境下,例如使用vitest.go,可以通过如下代码示例进行查询:
packagemain import ( "fmt" "github.com/xluohome/phonedata" ) funcmain() { pr, err := phonedata.Find("18957509123") if err!= nil { panic(err) } fmt.Print(pr) }
此外,还有命令行查询方式,在cmd目录下phonedata是一个命令行查询手机号归属地信息的终端程序。在Linux下:#PHONE_DATA_DIR=.././phonedata 18957509123;在Windows下:>set PHONE_DATA_DIR=../>phonedata.exe 18957503123,查询结果会显示如PhoneNum、AreaZone、CardType、City、ZipCode、Province等信息。
性能测试
在go1.17.6 windows/amd64环境下进行性能测试,结果为BenchmarkFindPhone – 128454013152.5ns/op。
其他语言实现
如果想用其他语言实现类似功能,也有对应的资源。例如python:https://github.com/ls0f/phone;php:https://github.com/shitoudev/phone – location, https://github.com/iwantofun/php_phonephpext:https://github.com/jonnywang/phone;java:https://github.com/fengjiajie/phone – number – geo, https://github.com/EeeMt/phone – number – geo;Node:https://github.com/conzi/phone;C++:https://github.com/yanxijian/phonedata;C#:https://github.com/sndnvaps/Phonedata, https://github.com/rwecho/Phone.Dotnet.git(dotnetcore);Rust:https://github.com/vincascm/phonedata;Kotlin:https://github.com/bytebeats/phone – geo;Ruby:https://github.com/forwaard/phonedata。
项目总结
这个xluohome/phonedata项目为手机号归属地查询提供了方便的工具,无论是基于GO语言直接使用,还是在其他多种语言下的实现,都有相应的资源可供参考。不过要注意,手机号归属地信息是通过网上公开数据进行收集整理,对于数据的绝对正确性不做任何保证,在生产环境使用前需要自行校对测试。欢迎大家留言讨论关于这个项目的使用心得或者遇到的问题等。
项目地址
数据统计
数据评估
本站链氪巴士提供的xluohome/phonedata:手机号码归属地信息库与查询都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。