从 Go 字符串到字节数组
在 Go 中,字符串是不可变的 UTF-8 编码字节序列。有时我们需要将字符串转换为字节数组,这可以通过使用 `[]byte()` 转换或 `bytes.Buffer` 来实现。
从 Go 字符串到字节数组
[]byte() 转换
`[]byte()` 转换会创建一个新的字节数组,其中包含字符串的 UTF-8 编码字节。例如:
```go s := "Hello, world!" b := []byte(s) ```
在这里,`b` 将包含以下字节:
``` [72 101 108 108 111 44 32 119 111 114 108 100 33] ```
bytes.Buffer
`bytes.Buffer` 是一个可变的字节缓冲区,它可以用来逐步构建字节数组。例如:
```go import "bytes"
s := "Hello, world!" b := bytes.NewBufferString(s)
// 添加更多字节 b.WriteString("!")
// 获取字节数组 ba := b.Bytes() ```
`ba` 将包含以下字节:
``` [72 101 108 108 111 44 32 119 111 114 108 100 33 33] ```
需要注意的几点
`[]byte()` 转换将创建字符串的副本,而 `bytes.Buffer` 则不会。 `bytes.Buffer` 比 `[]byte()` 转换更适合用于构建大型字节数组。 如果需要一个不可变的字节数组,请使用 `[]byte()` 转换。
总结
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。