首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将[]字节的字符串转换为[]字节

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

Stack Overflow用户
提问于 2022-07-26 14:14:04
回答 1查看 240关注 0票数 -1

main.go

代码语言:javascript
复制
package main

import "fmt"

func main() {
    rawString := "Hello World"
    myStringBytes := fmt.Sprint([]byte(rawString))
    
    myResultString := string([]byte(myStringBytes))

    fmt.Println(myResultString)
    fmt.Println(rawString)
}

输出

代码语言:javascript
复制
[72 101 108 108 111 32 87 111 114 108 100]
Hello World

为什么myResultString仍然以字节形式存在?

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

我要myResultString == rawString

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-26 16:46:20

只是用这个函数来解决这个问题。Fyi,我使用此方法解析HTML请求中的分号查询参数(:

代码语言:javascript
复制
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
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73124976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档