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 サイトの他の関連記事を参照してください。