Maison > développement back-end > Golang > Comment convertir du texte ANSI en UTF-8 dans Go ?

Comment convertir du texte ANSI en UTF-8 dans Go ?

Patricia Arquette
Libérer: 2024-11-26 13:48:10
original
782 Les gens l'ont consulté

How to Convert ANSI Text to UTF-8 in Go?

Conversion du texte ANSI en UTF-8 dans Go

Dans Go, toutes les chaînes sont stockées au format UTF-8. Cependant, vous pourriez rencontrer des situations dans lesquelles vous devrez convertir du texte ANSI, qui utilise un codage de caractères différent, en UTF-8. Voici comment y parvenir :

Selon la spécification du langage Go, toutes les chaînes sont traitées au format UTF-8 en interne. Une conversion explicite n’est donc pas nécessaire. Si vous disposez d'un tableau d'octets représentant du texte ANSI, vous pouvez simplement utiliser l'extrait suivant pour le convertir en chaîne Go :

import (
    "bytes"
    "unicode/utf8"
)

func convertANSItoUTF8(ansiBytes []byte) string {
    reader := bytes.NewReader(ansiBytes)
    decoder := utf8.RuneReader(reader)

    var utf8String []rune
    for {
        r, size, err := decoder.ReadRune()
        if err != nil {
            break
        }
        utf8String = append(utf8String, r)
    }

    return string(utf8String)
}
Copier après la connexion

Cette fonction utilise la fonction utf8.RuneReader pour parcourir les octets ANSI et convertir les aux runes UTF-8. Les runes sont ensuite ajoutées à une tranche, qui est finalement convertie en chaîne UTF-8.

Remarque : Cette fonction suppose que l'entrée ANSI est valide. S'il y a des séquences invalides, le comportement de la fonction n'est pas défini.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal