JSON 回應中的UTF-8 位元組順序標記無效
使用JSON 解碼Microsoft Translator 的回應時,遇到錯誤,指示無效字元。 JSON 訊息包含 Unicode 位元組順序標記 (BOM),由字元 ï'(ASCII 代碼 239)表示,這在解組時導致問題。
了解位元組順序標記
Unicode BOM 是一種特殊的字元序列,用於識別文字檔案的編碼。但是,這對於 JSON 響應來說不是必需的,並且可能會在解碼時導致複雜化。
解決問題
要處理無效字元錯誤,您需要刪除 BOM在解組 JSON 資料之前從回應中取得。這可以使用以下程式碼來實現:
body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf")) // Or []byte{239, 187, 191}
此行從回應正文的開頭刪除 BOM(如果存在),從而允許您正確解組 JSON 資料。
注意: 錯誤訊息「無效字符 ï' 尋找值的開頭」意味著 BOM 被解釋為 ISO-8859-1字符,導致解碼後的 JSON 中出現無效字符。
以上是如何修復 Microsoft Translator 中的「JSON 回應中無效的 UTF-8 位元組順序標記」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!