Tanda Pesanan UTF-8 Byte tidak sah dalam JSON Response
Semasa menggunakan JSON untuk menyahkod respons daripada Microsoft Translator, anda mengalami ralat yang menunjukkan aksara tidak sah. Mesej JSON mengandungi Tanda Perintah Bait Unikod (BOM), yang diwakili oleh aksara ï' (kod ASCII 239), yang menyebabkan masalah semasa menyahmarshall.
Memahami Tanda Susunan Byte
BOM Unicode ialah jujukan aksara khas yang mengenal pasti pengekodan fail teks. Walau bagaimanapun, ia tidak diperlukan untuk respons JSON dan boleh menyebabkan komplikasi semasa penyahkodan.
Menyelesaikan Isu
Untuk mengendalikan ralat aksara yang tidak sah, anda perlu mengalih keluar BOM daripada respons sebelum menyahkarang data JSON. Ini boleh dicapai menggunakan kod berikut:
body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf")) // Or []byte{239, 187, 191}
Barisan ini mengalih keluar BOM dari permulaan badan respons jika ia wujud, membolehkan anda menyahmarshal data JSON dengan betul.
Nota: Mesej ralat "aksara tidak sah ï' mencari permulaan nilai" membayangkan bahawa BOM telah ditafsirkan sebagai aksara ISO-8859-1, yang mengakibatkan aksara tidak sah muncul dalam JSON yang dinyahkod.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'Tanda Pesanan UTF-8 Byte Tidak Sah dalam JSON Response\' daripada Microsoft Translator?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!