ホームページ > バックエンド開発 > Golang > Golangの中国語文字化け解決方法

Golangの中国語文字化け解決方法

リリース: 2020-01-14 11:39:58
オリジナル
5922 人が閲覧しました

Golangの中国語文字化け解決方法

ファイルを読み取るために golang を学習する過程で、中国語の文字化けの問題に遭遇しました。 golang には独自のコーデック パッケージがないため、サードパーティのパッケージを使用する必要があります

解決策:

3 番目のトランスコーディング パッケージを導入します: git clone https://github.com/axgle/ mahonia.git

例:

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("文件读取结束")
}
ログイン後にコピー

関連する推奨事項:golang チュートリアル

以上がGolangの中国語文字化け解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート