func main() {
str := hex.EncodeToString([]byte("go"))
fmt.Println(str)
}
此代码返回676f
。如何打印类似C的0x67, 0x6f
?
我在hex
模块中找不到可以实现所需功能的任何功能。但是,我们可以使用自定义缓冲区以所需的格式写入。
package main
import (
"bytes"
"fmt"
)
func main() {
originalBytes := []byte("go")
result := make([]byte, 4*len(originalBytes))
buff := bytes.NewBuffer(result)
for _, b := range originalBytes {
fmt.Fprintf(buff, "0x%02x ", b)
}
fmt.Println(buff.String())
}