1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/oss-phonedata

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Перевод текста на русский язык:

Это, возможно, самый полный из доступных на GitHub китайский информационный ресурс о принадлежности мобильных номеров

Реализован на языке GO с использованием метода двоичного поиска.

  • Размер файла информационной базы данных о принадлежности: 4 098 913 байт.
  • Последнее обновление информационной базы данных о принадлежности: август 2021 года.
  • Количество записей о диапазонах мобильных номеров: 454 336.

Формат файла phone.dat

4 байта <- версия файла phone.dat (например, 1701 — январь 2017 года)
4 байта <- смещение первого индекса
----------------------- -------------------------------------------------
offset - 8 <- область записей
----------------------- ------------------------------------------------
index <- индексная область
------------------------- -----------------------------------------------
  1. Заголовок состоит из 8 байт, версия занимает 4 байта, смещение первого индекса также занимает 4 байта;
  2. Каждая запись в области записей имеет формат "<провинция>|<город>|<почтовый индекс>|<код междугородной связи>\0". Каждая запись завершается символом '\0';
  3. Каждая запись в индексной области имеет формат "<первые семь цифр номера телефона><смещение области записи><тип карты>", длина каждого индекса составляет 9 байт.

Установка и использование

Откройте файл test.go в редакторе vi:

package main

import (
	"fmt"

	"github.com/xluohome/phonedata"
)

func main() {
	pr, err := phonedata.Find("18957509123")
	if err != nil {
		panic(err)
	}
	fmt.Print(pr)
}

Запустите программу командой go run test.go:

PhoneNum: 18957509123
AreaZone: 0575
CardType: 中国电信
City: 绍兴
ZipCode: 312000
Province: 浙江

Быстрое использование

В каталоге cmd находится программа phonedata для командной строки, которая позволяет запрашивать информацию о принадлежности мобильного номера.

Linux:
#PHONE_DATA_DIR=../ ./phonedata  18957509123

Windows:
>set PHONE_DATA_DIR=../
>phonedata.exe  18957509123

Результат выполнения программы:

PhoneNum: 18957509123
AreaZone: 0575
CardType: 中国电信
City: 绍兴
ZipCode: 312000
Province: 浙江

Тестирование производительности

Thinkpad s3 (Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz)

Версия Go: go1.13.4 windows/amd64

go test -v --bench="."

BenchmarkFindPhone-4     1964847               607 ns/op

Мне нужен только текстовый файл csv для phone.dat?

Конечно. Скачать можно по ссылке: https://git.oschina.net/oss/phonedata/attach_files

Другие реализации на разных языках

Python: https://github.com/lovedboy/phone

PHP: https://github.com/shitoudev/phone-location, https://github.com/iwantofun/php_phone

Расширение PHP: 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

Rust: https://github.com/vincascm/phonedata

Kotlin: https://github.com/bytebeats/phone-geo

Гарантия безопасности

Информация о принадлежности мобильных номеров была собрана и систематизирована из открытых источников в интернете.

Я не могу гарантировать абсолютную точность информации о принадлежности мобильных номеров. Поэтому перед использованием в производственной среде рекомендуется провести собственную проверку и тестирование.

Примеры использования клиентами

Благодарность

@lovedboy https://github.com/lovedboy

@zhengji https://github.com/zheng-ji/gophone

Связаться с автором

Добавить автора в WeChat.

wx.jpg

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

База данных с информацией о регионе привязки номера телефона, поиск региона привязки номера телефона. Обновление файла phone.dat от августа 2021 года. Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/oss-phonedata.git
git@api.gitlife.ru:oschina-mirror/oss-phonedata.git
oschina-mirror
oss-phonedata
oss-phonedata
master