16 進数を表す次の文字列があります。
00000000ff00ff00000900000600020a
netパッケージでIPv6に変換しようとしています
私が期待している結果は(ビッグエンディアン)です:
20a:600::9:ff00:ff00::
私はこれを試しました:
ip := "00000000ff00ff00000900000600020a"
res := make(net.IP, net.IPv6len)
var err error
res,err = hex.DecodeString(ip)
if err != nil {
fmt.Println("error")
}
for i := 0; i < 16/2; i++ {
res[i], res[16-1-i] = res[16-1-i], res[i]
}
fmt.Println(res.String())
しかし、私はこれを取得しています:
a02:6:0:900:ff:ff::
ありがとう!