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中文网其他相关文章!