0{r,size:=utf8(content). fr = un"/> 0{r,size:=utf8(content). fr = un">

Maison >développement back-end >Golang >Lire le contenu des fichiers non codés en UTF8 et les imprimer correctement

Lire le contenu des fichiers non codés en UTF8 et les imprimer correctement

王林
王林avant
2024-02-06 08:27:09449parcourir

Lire le contenu des fichiers non codés en UTF8 et les imprimer correctement

Contenu de la question

J'essaie de lire un fichier non codé en utf8 et d'imprimer le contenu. Comme :

content, _ := os.readfile("example.csv")
fmt.println(string(content))

Sortie :

��������������������������

Ensuite, j'essaie de convertir le contenu de la rune et de le décoder en utf8 comme ceci :

br := make([]rune, 0)
for len(content) > 0 {
    r, size := utf8.DecodeRune(content)
    br = append(br, r)
    content = content[size:]
}
fmt.Println(string(br))

Mais le résultat est le même. Comment puis-je obtenir le bon contenu ? ps : je ne connais pas le type d'encodage des fichiers, ils peuvent être de plusieurs types comme traditionalchinese.big5 ou japonais.shiftjis, et le contenu ne peut pas être un fichier. Cela peut être une chaîne.


Bonne réponse


Vous devez probablement provenir de la golang.org/x/ 的软件包text/encoding hiérarchie.

En particulier golang.org/x/text/encoding /charmapgolang.org/x/text/encoding /charmap 允许创建 encoding。Decoder permet la création d'encodages . Le décodeur peut convertir les flux d'octets dans les encodages traditionnels non UTF-8 en flux de données codés UTF-8 natifs de Go.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer