在 ruby 中,如何获取 IP 地址的 32 位数字。它用于 IpTOCountry.csv
例如 1.2.3.4 = 4 + (3 * 256) + (2 * 256 * 256) + (1 * 256 * 256 * 256) 是 4 + 768 + 13,1072 + 16,777,216 = 16,909,060
所以如果我有 16,909,060。我怎样才能得到“1.2.3.4”。我只能使用标准的 ruby 库。
提前致谢
你可以使用这个IPAddr
类:
require "ipaddr"
IPAddr.new("1.2.3.4").to_i
# => 16909060
反过来:
ip = IPAddr.new(16909060, Socket::AF_INET)
# => #<IPAddr: IPv4:1.2.3.4/255.255.255.255>
ip.to_s
# => "1.2.3.4"