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

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

Patricia Arquette
发布: 2024-12-14 16:10:17
原创
195 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板