ホームページ > バックエンド開発 > Golang > Microsoft Translator からの「JSON 応答内の無効な UTF-8 バイト オーダー マーク」を修正する方法?

Microsoft Translator からの「JSON 応答内の無効な UTF-8 バイト オーダー マーク」を修正する方法?

Linda Hamilton
リリース: 2024-12-01 07:28:09
オリジナル
681 人が閲覧しました

How to Fix

JSON 応答の UTF-8 バイト オーダー マークが無効です

JSON を使用して Microsoft Translator からの応答をデコード中に、次のエラーが発生しました無効な文字。 JSON メッセージには、文字 ï' (ASCII コード 239) で表される Unicode バイト オーダー マーク (BOM) が含まれており、アンマーシャリング中に問題が発生していました。

バイト オーダー マークについて

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート