再次遇到golang乱码问题,用simplifiedchinese解决
Posted pu369
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了再次遇到golang乱码问题,用simplifiedchinese解决相关的知识,希望对你有一定的参考价值。
上篇文章中,抓取网页时,本想匹配其中的汉字。由于出现乱码,只好匹配英文绕过了问题。
原因很简单:该网页没指定utf8,默认应该是GBK
解决办法也很简单:引入
"golang.org/x/text/encoding/simplifiedchinese"
比如原来的代码是
resp, err := this.cleint.Get(url) body, err := ioutil.ReadAll(resp.Body)
此时body中读取到的是乱码。
只需增加一个reader
resp, err := this.cleint.Get(url) reader := simplifiedchinese.GB18030.NewDecoder().Reader(resp.Body) body, err := ioutil.ReadAll(reader)
此时,body中就是正确解码后的汉字。可以进行查找或正则匹配了。
以上是关于再次遇到golang乱码问题,用simplifiedchinese解决的主要内容,如果未能解决你的问题,请参考以下文章
source insight 注释乱码?(File > Reload As Encoding… > Chinese Simplified (GB18030) > 选择后,点击load)