Maison >développement back-end >Golang >Que faire si Golang intègre des caractères tronqués

Que faire si Golang intègre des caractères tronqués

藏色散人
藏色散人original
2020-04-08 10:43:383068parcourir

Que faire si Golang intègre des caractères tronqués

Que dois-je faire si Golang intègre des caractères tronqués ? Problème de code tronqué en chinois Golang

Dans le processus d'apprentissage du Golang pour lire des fichiers, j'ai rencontré le problème du chinois affichant du code tronqué ! golang n'a pas son propre package de codecs, vous devez donc utiliser des packages tiers

Solution :

Introduire le troisième package de transcodage : git clone https:// github.com/axgle/mahonia.git

Ensuite, allez directement au code :

package main
import (
   "bufio"
   "fmt"
   "io"
   "mahonia"  //编码转换
   "os"
)
func main() {
   var enc mahonia.Decoder
   enc = mahonia.NewDecoder("gbk")
   //读取文件的案例
   //读取文件的内容并显示在终端,使用os.Open, file.Close, bufio.NewReader(), reader.ReadString
   file, err := os.Open("e:/test.txt")
   if err != nil {
      fmt.Println("open file err=", err)
   }
   //当函数退出时,要及时关闭file
   defer file.Close() //防止内存泄露
   //创建一个 *Reader , 是带缓冲的, 默认缓冲区为4096个字节
   reader := bufio.NewReader(file)
   //循环读取文件的内容
   for {
      str, err := reader.ReadString('\n') //读到一个换行就结束
      if err == io.EOF { //io.EOF表示文件的末尾
         break
      }
      //输出内容
      fmt.Println("UTF-8 to GBK:", enc.ConvertString(str))
   }
   fmt.Println("文件读取结束")
}

Pour plus de connaissances sur le golang, veuillez faire attention à la colonne tutoriel golang de la Site Web chinois PHP.

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