Go语言字符串转换为十六进制表示的示例代码

ChatGPT4o 使用 ChatGPT 4o 回答

问题:

golang 字符串ASCII 转16进制数据

回答:

在 Go 语言中,你可以将字符串的每个字符转换为其对应的 ASCII 码,然后再将这些 ASCII 码转换为十六进制表示。下面是一个示例代码,展示了如何实现这一点:

package main

import (
	"fmt"
)

func stringToHex(s string) string {
	hexString := ""
	for _, c := range s {
		hexString += fmt.Sprintf("%02x", c)
	}
	return hexString
}

func main() {
	str := "Hello, World!"
	hexStr := stringToHex(str)
	fmt.Println("Original String:", str)
	fmt.Println("Hexadecimal Representation:", hexStr)
}

在这个示例中,stringToHex 函数将字符串中的每个字符转换为其对应的十六进制表示,并将这些十六进制值连接成一个字符串。fmt.Sprintf("%02x", c) 用于将字符的 ASCII 码格式化为两位的十六进制数。

运行这个程序,你会得到如下输出:

Original String: Hello, World!
Hexadecimal Representation: 48656c6c6f2c20576f726c6421

这个输出表示字符串 "Hello, World!" 的十六进制表示。