Apabila bekerja dengan data JSON, ada kemungkinan untuk menemui aksara UTF-8 yang tidak sah, yang membawa kepada ralat semasa Marshaling. Isu ini timbul disebabkan oleh kehadiran bait yang tidak mematuhi pengekodan UTF-8.
Dalam Go, anda boleh menangani masalah ini dengan mengalih keluar atau menggantikan aksara yang tidak sah menggunakan pelbagai pendekatan:
strings.ToValidUTF8("a\xc5z", "")
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"))
Fungsi ini mengalih keluar sebarang aksara UTF-8 yang tidak sah dengan memetakannya kepada nilai negatif, menghasilkan output yang dijangkakan:
az posico
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Aksara UTF-8 Tidak Sah dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!