golang 嵌入乱码怎么办?Golang中文乱码问题

在学习golang读取文件的过程中,遇到中文显示乱码的问题!golang没有自带的编解码包,因此需要借助第三方包

解决方法:

引入第三发转码包:git clone https://github.com/axgle/mahonia.git

接下来直接上代码:

package mainimport (   "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教程栏目。

更多相关文章

  1. golang读取文件是否存在
  2. golang判断是文件还是文件夹
  3. golang如何读取文件
  4. golang如何删除文件?
  5. go语言通过命令方式生成可执行文件
  6. windows10下编译go项目为linux可执行文件
  7. 分享5种文件变更时自动重载Go程序的方法
  8. 分享golang实现文件传输小demo
  9. 如何解决go语言乱码问题

随机推荐

  1. ConstraintLayout 实现水平方向 权重 效
  2. 关于android的nfc问题
  3. 深入理解Android消息处理系统——Looper
  4. Android实习笔记----调用拨号器,邮件短信
  5. android O 对后台服务的限制
  6. Android(安卓)播放视频的方法+播放测试地
  7. Some Standard Activity Actions
  8. Android十日学习路线
  9. xmlns:android="http://schemas.android.
  10. Use logCat in android native