首页  >  文章  >  后端开发  >  如何在 Go 中将十六进制字符串转换为字节切片?

如何在 Go 中将十六进制字符串转换为字节切片?

Linda Hamilton
Linda Hamilton原创
2024-11-13 06:04:011012浏览

How do I convert a hex string to a byte slice in Go?

在 Go 中将十六进制字符串传输到 []byte

将十六进制字符串转换为字节切片 []byte 可以轻松实现使用 hex.DecodeString() 函数。此函数采用十六进制字符串表示形式作为参数,并返回一个字节切片,其中包含与十六进制字符对应的已解码字节。

示例:

考虑以下示例,其中我们想要将十六进制字符串“46447381”转换为字节slice:

package main

import (
    "fmt"
    "encoding/hex"
)

func main() {
    s := "46447381"

    data, err := hex.DecodeString(s)
    if err != nil {
        panic(err)
    }

    fmt.Printf("%x", data)
}

说明:

  • 导入编码/十六进制包。
  • 使用 DecodeString() 解码十六进制字符串并将结果存储在 data 变量中。
  • 以十六进制打印数据切片使用 fmt.Printf("%x", data) 格式化。

输出:

46447381

注意:

需要注意的是,直接使用fmt.Println(data)打印字节片时,输出将以十进制格式显示。要以十六进制格式打印字节,您应该使用 fmt.Printf("%x", data) 代替。

以上是如何在 Go 中将十六进制字符串转换为字节切片?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn