2 回答

TA貢獻(xiàn)2065條經(jīng)驗 獲得超14個贊
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)
}

TA貢獻(xiàn)1815條經(jīng)驗 獲得超6個贊
首先將位串轉(zhuǎn)換回整數(shù),然后通過適當(dāng)?shù)囊莆蝗〕?IP 地址的部分。
s := "11000000101010000000000000000000"
output, _ := strconv.ParseInt(s, 2, 64)
ipb := []byte{
byte(output >> 24),
byte(output >> 16),
byte(output >> 8),
byte(output),
}
ip := fmt.Sprintf("%d.%d.%d.%d", ipb[0], ipb[1], ipb[2], ipb[3])
fmt.Println(ip)
或者
ip := net.IPv4(ipb[0], ipb[1], ipb[2], ipb[3])
fmt.Println(ip.String())
- 2 回答
- 0 關(guān)注
- 275 瀏覽
添加回答
舉報