如何在 Go 中将字节切片 ([]byte) 转换为字符串?
大家好!我刚开始学习 Go,在处理 SHA-1 哈希时遇到了问题。我有一个函数计算字符串的 SHA-1 哈希并以字节切片 ([]byte) 形式返回。我需要将这个哈希输出到屏幕,但 fmt.Println 函数输出了一些难以理解的字符,而不是可读的字符串。\n\n这是我的代码:\n\n```go\npackage main\n\nimport (\n "crypto/sha1"\n "fmt"\n)\n\nfunc main() {\n data := []byte("Hello, Go!")\n hash := sha1.Sum(data)\n fmt.Println(hash) // 输出类似 [191 142 67 219...]\n}\n```\n\n我尝试过使用 string(hash),但也没有得到预期结果——输出了更奇怪的字符集。如何正确地将字节切片转换为字符串?是否需要使用 encoding 包中的特殊函数?希望能得到详细解释,因为我在文档中已经搞糊涂了。\n\n<<>>\n
通过 string() 直接转换
\n将 []byte 转换为字符串最简单的方法是