gpt4 book ai didi

ruby - 将 IPv6 地址转换为编码字符串并返回 Ruby?

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:11 25 4
gpt4 key购买 nike

如何将 IPv6 地址转换为二进制表示形式并返回?

我只能将其转换为数字,然后尝试将其转换为字符串。

IPAddr.new('fe80::c')
# => #<IPAddr: IPv6:fe80:0000:0000:0000:0000:0000:0000:000c/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>

IPAddr.new('fe80::c').to_i
# => 338288524927261089654018896841347694604

最佳答案

正如@tadman 所指出的,将其作为数字处理是没有意义的。将其转换为二进制是理想的。

IPv6 转换为字节:

IPAddr.new('fe80::c').hton
# => "\xFE\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\f"

字节转换为 IPv6:

IPAddr::new_ntoh(_)
# => #<IPAddr: IPv6:fe80:0000:0000:0000:0000:0000:0000:000c/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>

关于ruby - 将 IPv6 地址转换为编码字符串并返回 Ruby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com