Wie mache ich rohe Unicode-codierte Inhalte lesbar?
Beim Anfordern von JSON-Daten von einer Web-API stoßen Sie möglicherweise auf rohe ASCII-Inhalte, die erscheint als Unicode-Escapezeichen. Während die Verwendung von bufio.ScanRunes zum Parsen der Antwort fehlschlägt, kann die Dekodierung der Antwort mit Tools wie dem JSON-Paket oder strconv.Unquote die Unicode-Escapezeichen effektiv in lesbaren Text umwandeln.
Detaillierte Erklärung:
Die in der Frage bereitgestellten JSON-Daten enthalten Unicode-Zeichen, die durch Backslash-Escapezeichen dargestellt werden, wie z. B. u5408 und u672a. Um diese Escapezeichen zu dekodieren und die tatsächlichen Unicode-Zeichen anzuzeigen, können wir die folgenden Methoden verwenden:
package main import ( "encoding/json" ) func main() { var i interface{} err := json.Unmarshal([]byte(`{"name": "\u5408\u80a5"}`), &i) fmt.Println(err, i) }
Ausgabe (versuchen Sie es auf dem Go Playground):
<nil> map[name:同学]
fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))
Ausgabe (versuchen Sie es auf dem Go Playground):
素未谋
Denken Sie daran, dass strconv.Unquote das erfordert Zeichenfolge, die in Anführungszeichen eingeschlossen werden soll. Dies wird mithilfe eines rohen Zeichenfolgenliterals ( ` ) erreicht, um zu verhindern, dass der Compiler die Anführungszeichen für die Escapezeichen selbst aufhebt.
Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Rohdaten mit Unicode-Escape in Go lesbar machen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!