在线检测
JSON工具
编码/加密
图片处理
文字处理
格式化
网络
前端
后端
搜索工具、优惠码…⌘K

IP转数字,数字转IP

把 IPv4 地址转成 32 位十进制整数,或把整数还原成 IPv4,纯本地计算。

使用说明

把 IP 存进数据库时,用 VARCHAR 存点分字符串既占空间、又没法直接比大小做范围查询;换成 INT UNSIGNED 只占 4 字节,WHERE ip BETWEEN a AND b 还能直接命中索引。这个工具就是在两种形态间来回换。

「IP → 数字」把 192.168.1.1 这样的点分十进制转成唯一的 32 位无符号整数,「数字 → IP」把 0–4294967295 的整数还原回 IPv4,全程浏览器本地计算、不上传。

常见用法:建 IP 归属地库时把地址段起止转成整数区间做二分查找;查日志时把入库的整数还原成人能读的地址;核对某条黑名单整数对应哪个 IP。只处理 IPv4,128 位的 IPv6 放不进 32 位整数。

常见问题

算出来的整数和 MySQL 的 INET_ATON() 一样吗?

一样。都是按 a×2²⁴ + b×2¹⁶ + c×2⁸ + d 折算的 32 位无符号整数,可以和 INET_ATON()/INET_NTOA() 的结果直接对得上。

能转 IPv6 吗?

不能。IPv6 是 128 位,超出 32 位整数范围,这里只做 IPv4 与十进制整数互转。输入的整数也必须落在 0–4294967295 之间,超出或负数不是合法 IPv4。