원시 유니코드로 인코딩된 콘텐츠를 읽을 수 있게 만들려면 어떻게 해야 하나요?
웹 API에서 JSON 데이터를 요청할 때 다음과 같은 원시 ASCII 콘텐츠가 나타날 수 있습니다. 유니코드 이스케이프처럼 나타납니다. bufio.ScanRunes를 사용하여 응답을 구문 분석하는 데 실패하는 동안 json 패키지 또는 strconv.Unquote와 같은 도구를 사용하여 응답을 디코딩하면 유니코드 이스케이프를 읽을 수 있는 텍스트로 효과적으로 변환할 수 있습니다.
자세한 설명:
질문에 제공된 JSON 데이터에는 u5408 및 백슬래시 이스케이프를 사용하여 표현된 유니코드 문자가 포함되어 있습니다. u672a. 이러한 이스케이프를 디코딩하고 실제 유니코드 문자를 표시하려면 다음 방법을 활용할 수 있습니다.
package main import ( "encoding/json" ) func main() { var i interface{} err := json.Unmarshal([]byte(`{"name": "\u5408\u80a5"}`), &i) fmt.Println(err, i) }
출력(Go Playground에서 시도):
<nil> map[name:同学]
fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))
출력(Go Playground에서 시도해 보세요):
素未谋
strconv.Unquote에는 컴파일러가 이스케이프 자체를 인용 해제하는 것을 방지하기 위해 원시 문자열 리터럴( ` )을 사용하여 문자열을 따옴표로 묶습니다.
위 내용은 Go에서 원시 유니코드 이스케이프 JSON 데이터를 읽을 수 있게 만들려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!