Heim >Backend-Entwicklung >Golang >Wie konvertiert man Unicode-Codepunkte in Go in Literalzeichen?
Konvertieren von Unicode-Codepunkten in Literalzeichen in Go
Angenommen, Sie stoßen auf eine Textdatei mit Unicode-Codepunkten wie den folgenden:
\u0053 \u0075 \u006E
Ihr Ziel ist es, diese Codepunkte in ihr entsprechendes Literal umzuwandeln Zeichen:
S u n
Sie haben versucht, ioutil.ReadFile("data.txt") zu verwenden, aber es gibt die Codepunkte anstelle der Zeichen aus.
Lösung: Verwendung strconv.Unquote() und strconv.UnquoteChar()
Um Ihr Problem zu lösen, können Sie beides verwenden strconv.Unquote() oder strconv.UnquoteChar(). Beachten Sie jedoch, dass strconv.Unquote() erfordert, dass die Eingabezeichenfolgen in Anführungszeichen gesetzt werden:
lines := []string{ `\u0053`, `\u0075`, `\u006E`, } for i, v := range lines { var err error lines[i], err = strconv.Unquote(`"` + v + `"`) if err != nil { fmt.Println(err) } }
Alternativ können Sie strconv.UnquoteChar() verwenden, wenn Sie einzelne Runen oder Zeichenfolgen ohne Anführungszeichen aus den Anführungszeichen entfernen möchten. :
runes := []string{ `\u0053`, `\u0075`, `\u006E`, } for _, v := range runes { value, _, _, err := strconv.UnquoteChar(v, 0) if err != nil { fmt.Println(err) } fmt.Printf("%c\n", value) }
Mit diesen Ansätzen können Sie Unicode-Codepunkte in Go in Literalzeichen umwandeln, unabhängig davon, ob sie in Anführungszeichen oder eingeschlossen sind nicht.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Unicode-Codepunkte in Go in Literalzeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!