ホームページ > バックエンド開発 > Golang > golang が文字化けしたコードを埋め込んだ場合の対処方法

golang が文字化けしたコードを埋め込んだ場合の対処方法

藏色散人
リリース: 2020-04-08 10:43:38
オリジナル
3068 人が閲覧しました

golang が文字化けしたコードを埋め込んだ場合の対処方法

#golang で文字化けが埋め込まれた場合はどうすればよいですか? 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 の詳細については、 PHPの中国語サイトです。

以上がgolang が文字化けしたコードを埋め込んだ場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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