猿问

如何将 []bytes 的字符串转换为 []bytes

主程序


package main


import "fmt"


func main() {

    rawString := "Hello World"

    myStringBytes := fmt.Sprint([]byte(rawString))

    

    myResultString := string([]byte(myStringBytes))


    fmt.Println(myResultString)

    fmt.Println(rawString)

}

输出


[72 101 108 108 111 32 87 111 114 108 100]

Hello World

为什么myResultString还是字节形式?


如何将 []bytes 的字符串转换为 []bytes?


我要myResultString==rawString


胡子哥哥
浏览 96回答 1
1回答

潇湘沐

刚刚使用这个功能来解决这个问题。仅供参考,我使用此方法从 HTML 请求中解析分号查询参数(:package mainimport (   "fmt"   "strconv"   "strings")func main() {    rawString := "Hello World"    myStringBytes := fmt.Sprint([]byte(rawString))        myResultString, _ := string(StringBytesParseString(myStringBytes))    fmt.Println(myResultString)    fmt.Println(rawString)}func StringBytesParseString(byteString string) (string, error) {    byteString = strings.TrimSuffix(byteString, "]")    byteString = strings.TrimLeft(byteString, "[")    sByteString := strings.Split(byteString, " ")    var res []byte    for _, s := range sByteString {        i, err := strconv.ParseUint(s, 10, 64)        if err != nil {            return "", err        }        res = append(res, byte(i))    }    return string(res), nil}
随时随地看视频慕课网APP

相关分类

Go
我要回答