好的,正如我在a
related question
openssl/ssl.rb
). 它们同时处理IPv4和IPv6地址,因此使用
unpack
split
case v.value.size
when 4
ip = v.value.unpack('C*').join('.')
when 16
ip = v.value.unpack('n*').map { |o| sprintf("%X", o) }.join(':')
else
STDERR.print "The encountered IP-address is neither IPv4 nor IPv6\n"
next
end