在ruby中,如何获取IP地址的32位数。它用于IpTOCountry.csv
e.g。 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库。
提前致谢
答案 0 :(得分:4)
您可以使用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"