Maison >développement back-end >Golang >Comment convertir des points de code Unicode en caractères littéraux dans Go ?
Conversion de points de code Unicode en caractères littéraux dans Go
Supposons que vous rencontriez un fichier texte avec des points de code Unicode comme celui-ci :
\u0053 \u0075 \u006E
Votre objectif est de convertir ces points de code en leur littéral correspondant caractères :
S u n
Vous avez essayé d'utiliser ioutil.ReadFile("data.txt"), mais il affiche les points de code plutôt que les caractères.
Solution : Utiliser strconv.Unquote() et strconv.UnquoteChar()
Pour résoudre votre problème, vous pouvez utiliser soit strconv.Unquote() ou strconv.UnquoteChar(). Cependant, notez que strconv.Unquote() nécessite que les chaînes d'entrée soient placées entre guillemets :
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) } }
Alternativement, si vous souhaitez supprimer les guillemets de runes ou de chaînes individuelles sans guillemets, vous pouvez utiliser strconv.UnquoteChar() :
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) }
Ces approches vous permettront de convertir des points de code Unicode en caractères littéraux dans Go, qu'ils soient enfermés dans citations ou pas.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!