首页 > 解决方案 > 将表示为字符串的字节数组转换为字节数组

问题描述

我有一个byte以如下形式表示的数组string

inputString := "[16 2 26 25 82 101 108 101 97 115 101 32 97 114 116 105 102 97 99 116 115 32 102 101 116 99 104 101 100 32 60 42 6 8 149 188 185 251 5]"

我希望能够完全按照它的表示方式将此字符串转换为字节数组:

desiredResult := []byte{16, 2, 26, 25, 82, 101, 108, 101, 97, 115, 101, 32, 97, 114, 116, 105, 102, 97, 99, 116, 115, 32, 102, 101, 116, 99, 104, 101, 100, 32, 60, 42, 6, 8, 149, 188, 185, 251, 5}

我怎样才能在 Go 中做到这一点?

标签: arraysstringgo

解决方案


像这样的东西应该工作:

    inputString := "[16 2 26 25 82 101 108 101 97 115 101 32 97 114 116 105 102 97 99 116 115 32 102 101 116 99 104 101 100 32 60 42 6 8 149 188 185 251 5]"
    desiredResult := []byte{}
    
    inputString = strings.Trim(inputString, "[]")
    for _, i := range strings.Split(inputString, " ") {
        j, err := strconv.Atoi(i)
        if err != nil {
            panic(err)
        }
        desiredResult = append(desiredResult, byte(j))
    }
    fmt.Println(desiredResult)

操场


推荐阅读