ホームページ >バックエンド開発 >Golang >Go で JSON 文字列から無効な UTF-8 文字を効果的に削除するにはどうすればよいですか?

Go で JSON 文字列から無効な UTF-8 文字を効果的に削除するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-07 19:40:17493ブラウズ

How to Effectively Remove Invalid UTF-8 Characters from JSON Strings in Go?

Go で JSON 文字列から無効な UTF-8 文字を削除する

JSON マーシャリング中に文字列内に無効な UTF-8 文字が見つかった場合、一般的なGo の問題では、削除または処理する効果的な方法を見つけることが重要です。

Go では、この問題に対処するためにさまざまなパッケージや技術を使用できます。 Go 1.13 で導入された簡単なオプションの 1 つは次のとおりです。

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

この関数は、無効な UTF-8 シーケンスを 2 番目のパラメータとして指定された置換文字列で置き換えます。

代わりに、Go 1.11 以降では、 Map 関数と utf8.RuneError 定数を使用した多用途のアプローチ:

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

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

strings.Map 関数は、指定された関数を文字列内の各ルーンに適用し、新しい文字列を返します。 fixUtf 関数は、無効な文字をチェックして -1 に置き換え、出力からそれらを効果的に削除します。

これらのメソッドを使用すると、開発者は JSON 文字列内の無効な UTF-8 文字を迅速かつ確実に処理し、有効な UTF-8 文字を保証できます。マーシャリング中のデータは 8 つです。

以上がGo で JSON 文字列から無効な UTF-8 文字を効果的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。