JSON 응답의 잘못된 UTF-8 바이트 순서 표시
JSON을 사용하여 Microsoft Translator의 응답을 디코딩하는 동안 다음과 같은 오류가 발생했습니다. 잘못된 문자입니다. JSON 메시지에는 문자 ï'(ASCII 코드 239)로 표시되는 유니코드 BOM(바이트 순서 표시)이 포함되어 있어 언마샬링 중에 문제를 일으켰습니다.
바이트 순서 표시 이해
유니코드 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 번역기에서 \'JSON 응답의 잘못된 UTF-8 바이트 순서 표시\'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!