如何在golang中将“11aacc”之类的字符串转换为十六进制值[] byte(“\ x11 \ xaa \ cc”)

时间:2018-02-07 10:36:52

标签: go

我想使用UDP发送内容如0x11AACC的数据包,“11AACC”是从数据库中获取的,所以它是字符串。

我不知道如何将其更改为十六进制值11AACC,如果我使用[] byte(“11AACC”)进行转换,它将更改为6字节内容。

感谢。

1 个答案:

答案 0 :(得分:-1)

您可以使用DecodeString包中的encoding/hex将十六进制字符串转换为[]字节。

示例:https://play.golang.org/p/t200M1LqJQ3

package main

import (
    "encoding/hex"
    "fmt"
    "log"
)

func main() {
    s := "11AACC"
    h, err := hex.DecodeString(s)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(h)
}

指向DecodeString的链接:https://golang.org/pkg/encoding/hex/#DecodeString