登录
首页 >  Golang >  Go问答

golang 特殊字符的string怎么转成[]byte?

来源:SegmentFault

时间:2023-01-07 16:59:45 170浏览 收藏

本篇文章给大家分享《golang 特殊字符的string怎么转成[]byte?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

比如 '' 这个字符:

    bytes := []byte{''}
    fmt.Print(bytes)      //输出: [129]
    
    str := ""
    fmt.Print([]byte(str))  //输出: [194 129]

为什么转换出来的结果不一样了, 这导致我后端收到前端的数据不一致, 怎么才能保证转换出来的结果一样啊?

正确答案

呀, 又看到这个问题了, 那知乎上提问的也是同一个人了。

下面为部分分析,完整内容请参考原文

go中的字符串存储的是utf8编码的字节切片,而''的utf8编码就是[194 129]。

所以这个转换结果是符合预期的,如果要保证转换的结果一样就转为rune切片,rune切片保存的是字符串中每个字符的unicode

到这里,我们也就讲完了《golang 特殊字符的string怎么转成[]byte?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表