问题很简单,

怎么把"46447381"转到[]byte{0x46,0x44,0x73,0x81}

推荐答案

只需使用hex.DecodeString()功能:

s := "46447381"

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

Output:

46 44 73 81

Go Playground号公路上试试吧.

Note:

如果只使用fmt.Println(data)打印字节片,打印的值将采用十进制格式,这就是它与输入string不匹配的原因(因为它是以十六进制格式指定的)

[70 68 115 129]

这些都是以十进制为基数的相同数字.

Go相关问答推荐

理解Golang并发:缓冲通道的意外行为

为什么工具链指令在这种情况下没有效果?

[0]Func()as";请勿比较哨兵类型

如何将文件从AWS S3存储桶复制到Azure BLOB存储

Go中的Slice[:1][0]与Slice[0]

Go:拆分一个由逗号分隔的键/值对字符串,并在给定的键/价值对中嵌入可能的逗号

Go 中将 int 切片转换为自定义 int 切片指针类型的函数

调用库和直接操作效率有区别吗?

Kusto Go API 从多个表查询

对 CSV 进行单元测试失败

当客户端同时是服务器时,需要什么 mTLS 证书?

自定义 Fyne 自适应网格布局

甚至用天真的洗牌分配?

使用 Grafana alert 在几分钟内重复alert

regex.ReplaceAll 但如果替换则添加相同数量的字符

有没有什么方法可以在不使用 if/else 的情况下在 Golang 中处理 nil 指针?

在恒等函数中将类型 T 转换为类型 U

处理程序后访问 HTTP 请求上下文

如何在Golang中的差异函数中杀死命令Exec

Go Flag 用法 描述 包含 Word 值