Melucutkan Aksara UTF-8 Tidak Sah daripada JSON Strings in Go
Apabila menemui aksara UTF-8 yang tidak sah dalam rentetan semasa JSON marshaling, perkara biasa isu dalam Go, adalah penting untuk mencari cara yang berkesan untuk mengalih keluar atau mengendalikan mereka.
Dalam Go, pelbagai pakej dan teknik boleh digunakan untuk menangani isu ini. Satu pilihan mudah yang diperkenalkan dalam Go 1.13 ialah:
strings.ToValidUTF8("a\xc5z", "")
Fungsi ini menggantikan urutan UTF-8 yang tidak sah dengan rentetan gantian yang ditentukan sebagai parameter kedua.
Sebagai alternatif, Go 1.11 dan kemudian menyediakan pendekatan serba boleh menggunakan fungsi Map dan utf8.RuneError pemalar:
fixUtf := func(r rune) rune { if r == utf8.RuneError { return -1 } return r } fmt.Println(strings.Map(fixUtf, "a\xc5z"))
Fungsi rentetan.Peta menggunakan fungsi yang ditentukan pada setiap rune dalam rentetan, mengembalikan rentetan baharu. Fungsi fixUtf menyemak aksara yang tidak sah dan menggantikannya dengan -1, dengan berkesan mengalih keluarnya daripada output.
Menggunakan kaedah ini, pembangun boleh dengan cepat dan andal mengendalikan aksara UTF-8 yang tidak sah dalam rentetan JSON, memastikan UTF- yang sah 8 data semasa marshaling.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Aksara UTF-8 Tidak Sah dengan Berkesan daripada Rentetan JSON dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!