您现在的位置是:群英 > 开发技术 > 编程语言
golang嵌入乱码问题怎样处理,处理方案是什么
Admin发表于 2022-06-28 17:08:03833 次浏览
这篇文章分享给大家的内容是关于golang嵌入乱码问题怎样处理,处理方案是什么,本文介绍得很详细,内容很有参考价值,希望可以帮到有需要的小伙伴,接下来就让小编带领大家一起了解看看吧。

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

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

解决方法:

引入第三发转码包: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嵌入乱码问题怎样处理,处理方案是什么”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: Golang
相关信息推荐
2022-12-06 17:50:06 
摘要:实现步骤:1、用array_sum()和“+”运算符获取三个数组的总元素和,语法“array_sum(数组1)+array_sum(数组2)+array_sum(数组3)”;2、用count()函数和“+”运算符获取三个数组的总元素个数,语法“count(数组1)+count(数组2)+count(数组3)”;3、用“/”运算符获取总平均数,语法“总元素和 / 总元素个数”。
2022-09-05 17:28:01 
摘要:html换行标签是“<br>”。br标签能够在指定的位置插入一个换行符,它会告诉浏览器立即停止当前的文本流,并在下一行的左边,或者在左对齐的内联图形或表格的右边开始继续输出文本流。br是一个空标签,这意味着它没有结束标签,写法为“<br>”或者“<br/>”。
2021-11-03 17:49:07 
摘要:这篇文章给大家分享的是PHP怎样实现HTTP验证的内容,HTTP提供了登录验证机制,可以应用来存储登录信息,判断用户有没有登录,小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部