为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
胡子哥哥 2023-01-03 17:24:13
主程序package mainimport "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
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

刚刚使用这个功能来解决这个问题。仅供参考,我使用此方法从 HTML 请求中解析分号查询参数(:


package main


import (

   "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

}


查看完整回答
反对 回复 2023-01-03
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信