我想使用UDP发送内容为0x11AACC的数据包,“11AACC”是从数据库中提取的,因此它是字符串。

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

谢谢。

最佳答案

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

示例: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

关于go - 如何在golang中将类似“11aacc”的字符串转换为十六进制值[] byte(“\x11\xaa\cc”),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48661642/

10-13 07:24