首页 >后端开发 >Golang >Go 中如何将十六进制字符串转换为字节数组?

Go 中如何将十六进制字符串转换为字节数组?

Barbara Streisand
Barbara Streisand原创
2024-11-14 17:09:02441浏览

How to Convert Hexadecimal Strings to Byte Arrays in Go?

在 Go 中将十六进制字符串转换为字节数组

在 Go 中将十六进制字符串转换为字节数组是各种编程场景中的常见任务。本文演示了使用 hex.DecodeString() 函数实现此目的的简单方法。

当前的问题是将十六进制字符串“46447381”转换为表示各个十六进制值的字节数组:{0x46, 0x44, 0x73, 0x81}.

这个问题的解决方案在于利用hex.DecodeString() 函数:

package main

import (
    "encoding/hex"
    "fmt"
)

func main() {
    s := "46447381"

    data, err := hex.DecodeString(s)
    if err != nil {
        panic(err)
    }
    fmt.Printf("% x", data)
}

说明:

  1. hex.DecodeString() 函数将十六进制字符串作为输入并返回一个字节包含解码后的十六进制值的切片。
  2. 解码后的字节切片 data 是使用 fmt.Printf("% x", data) 打印以十六进制格式显示值。

输出:

46 44 73 81

注意:

重要的是要记住,只需使用以下命令打印字节切片fmt.Println(data) 将以十进制格式而不是十六进制输出值。因此,使用 fmt.Printf("% x", data) 对于准确显示十六进制值至关重要。

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

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