我有一个用于存储 IP 地址的字段,我正在使用此代码将 IPv4 地址转换为整数,因此我可以将地址的可排序版本保存在单独的 bigint 字段中以实现更自然的排序(基于此):
octets = ip.split('.')
return (int(octets[0]) * 256**3) + (int(octets[1]) * 256**2) + (int(octets[2]) * 256) + (int(octets[3]))
如何使用对于 bigint 字段来说太大的 IPv6 地址做类似的事情?
有没有一种简单的方法来为 IPv6 进行整数转换?Python3 似乎为它提供了“ipaddress”模块,但我使用的是 2.7。我想支持在地址中留下零的各种方法。
更新:我正在使用 Django 1.5