我可以使用Sprintf
将net.IP地址转换为位串:
fmt.Sprintf("%08b%08b%08b%08b",net.IP[0],net.IP[1],net.IP[2],net.IP[3])
如何从字符串"11000000101010000000000000000000"
转换回"192.168.0.0"
?谢谢
最佳答案
func binaryStringToIPv4(bs string) (uint8, uint8, uint8, uint8) {
var ip uint32
for i, c := range bs {
// 31 = len(bs)-1
ip |= uint32(byte(c)-'0') << (31 - i)
}
return uint8(ip >> 24), uint8(ip >> 16), uint8(ip >> 8), uint8(ip)
}
关于string - 如何在Go中将文本位字符串转换为IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64084115/