首页 >后端开发 >Golang >如何删除 Go 中无效的 UTF-8 字符?

如何删除 Go 中无效的 UTF-8 字符?

Patricia Arquette
Patricia Arquette原创
2024-12-14 16:10:17196浏览

How Can I Remove Invalid UTF-8 Characters in Go?

在 Go 中删除无效的 UTF-8 字符

处理 JSON 数据时,可能会遇到无效的 UTF-8 字符,从而导致在编组期间出现错误。出现此问题的原因是存在不符合 UTF-8 编码的字节。

处理无效的 UTF-8 字符

在 Go 中,您可以通过删除或解决此问题使用各种方法替换无效字符:

Go 1.13

strings.ToValidUTF8("a\xc5z", "")

Go 1.11

fixUtf := func(r rune) rune {
    if r == utf8.RuneError {
        return -1
    }
    return r
}

fmt.Println(strings.Map(fixUtf, "a\xc5z"))
fmt.Println(strings.Map(fixUtf, "posic�o"))

此函数通过将所有无效的 UTF-8 字符映射到负值来删除它们,从而产生预期的输出:

az
posico

以上是如何删除 Go 中无效的 UTF-8 字符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn