go byte转string 去掉00
时间: 2023-11-21 15:06:48 浏览: 176
如果你想把一个 byte 数组转换成字符串,并去掉其中的 \x00 字符,可以使用 Go 语言中的 strings.Trim 函数。示例代码如下:
```go
package main
import (
"fmt"
"strings"
)
func main() {
bytes := []byte{0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x00}
str := strings.Trim(string(bytes), "\x00")
fmt.Println(str)
}
```
上述代码中,我们首先定义了一个 byte 数组 bytes,其中包含了一些字符串内容,以及一些 \x00 字符。接着,我们使用 string 函数将 byte 数组转换成字符串,并将其作为第一个参数传递给 strings.Trim 函数。第二个参数是要去掉的字符集合,我们在这里使用了 \x00,即空字符,来进行去除操作。最后,我们打印出处理后的字符串。
相关问题
go byte 转string 去掉 转义字符\a
可以通过先将字节切片转换为字符串,再使用 strings.Replace() 函数去掉 \a 转义字符。
示例代码如下:
```go
package main
import (
"fmt"
"strings"
)
func main() {
b := []byte{72, 101, 108, 108, 111, 44, 32, 87, 111, 114, 108, 100, 7, 33}
s := string(b)
s = strings.Replace(s, "\a", "", -1)
fmt.Println(s)
}
```
输出结果为:
```
Hello, World!
```
其中,`-1` 表示将所有的 \a 转义字符替换掉。如果你只想替换第一个出现的 \a,就将 `-1` 改为 `1`。
go byte 转string 去掉 转义字符
在 Go 中,可以使用 `strconv.Unquote` 函数将带有转义字符的字节序列转换为字符串,并去掉转义字符。示例代码如下:
```go
package main
import (
"fmt"
"strconv"
)
func main() {
b := []byte(`{"name":"John","age":30,"city":"New\nYork"}`)
s, err := strconv.Unquote(string(b))
if err != nil {
fmt.Println(err)
}
fmt.Println(s)
}
```
输出结果为:
```
{"name":"John","age":30,"city":"New
York"}
```
其中,`Unquote` 函数会从提供的字符串中解析并返回一个未转义的字符串。如果字符串不是一个带有引号的字符串字面值,则返回错误。
阅读全文