Go IP位址轉換 數字與字串之間高效轉換

2022-07-30 23:45:16 字數 1147 閱讀 6655

**:

ip 位址庫中 ip 位址的儲存格式一般有兩種,一種是點分十進位制形式(192.168.1.1),另一種是數字形式(3232235777),應用中,經常需要在這兩種格式之間做轉換。

針對這乙個問題我在 exnet 擴充套件包裡面實現可兩者的轉換的快捷方法:

使用示例:

)func main()每個位元組表示的範圍:

通用公式:b4<<24 | b3<<16 | b2<<16 | b1

例如,222.173.108.86

轉換方法:222<<24 | 173<<16 | 108<<8 | 86 = 3735907414

再例如,1.0.1.1

轉換方法:1<<24 | 0<<16 | 1<<8 | 1 = 16777473

exnet 中實現如下:

// ipstring2long 把ip字串轉為數值

func ipstring2long(ip string) (uint, error)

return uint(b[3]) | uint(b[2])<<8 | uint(b[1])<<16 | uint(b[0])<<24, nil

}

把數值轉換為字串的邏輯翻轉過來即可, exnet 中實現如下:

// long2ipstring 把數值轉為ip字串

func long2ipstring(i uint) (string, error)

ip := make(net.ip, net.ipv4len)

ip[0] = byte(i >> 24)

ip[1] = byte(i >> 16)

ip[2] = byte(i >> 8)

ip[3] = byte(i)

return ip.string(), nil

}

**:

數字與字串轉換

題目大意 給定兩個數 i 和 j 將數字 i j 翻轉後按公升序排列輸出。include include include include includeusing namespace std struct node num 55 翻轉字串 char strrev char s int len str...

字串與數字轉換方法

一 字串轉數字 1.crt函式 需要的標頭檔案 ascii unicode tchar vs2005 intatoi wtoi tstoi ttoi atoi l wtoi l long atol wtol tstoi ttoi atoi l wtoi l int64 atoi64 wtoi64 t...

Python字串與數字轉換

例項 a 18 b string.atoi a,16 print b 24 a 0x18 b string.atoi a,16 print b 24 a 18 c string atoi a print c 18數字轉換成字串 接上面 d i c 10進製表示 print d 18 type d s...