Maison >développement back-end >Golang >Comment convertir des points de code Unicode en caractères littéraux dans Go ?

Comment convertir des points de code Unicode en caractères littéraux dans Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-19 00:46:09498parcourir

How to Convert Unicode Code Points to Literal Characters in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn