在 Go 中将字节转换为字符串

我正在尝试做这样的事情:


bytes := [4]byte{1,2,3,4}

str := convert(bytes)


//str == "1,2,3,4"

我搜索了很多,真的不知道如何做到这一点。


我知道这行不通:


str = string(bytes[:])


梦里花落0921
浏览 403回答 3
3回答

幕布斯6054654

不是实现它的最有效方法,但您可以简单地编写:func convert( b []byte ) string {    s := make([]string,len(b))    for i := range b {        s[i] = strconv.Itoa(int(b[i]))    }    return strings.Join(s,",")}被称为:bytes := [4]byte{1,2,3,4}str := convert(bytes[:])

明月笑刀无情

如果您不受确切表示的约束,那么您可以使用fmt.Sprint:fmt.Sprint(bytes) // [1 2 3 4]另一方面,如果您想要确切的逗号样式,则必须使用循环和strconv.Itoa.

开满天机

类似于 inf 的建议,但允许使用逗号:fmt.Sprintf("%d,%d,%d,%d", bytes[0], bytes[1], bytes[2], bytes[3])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go