golang学习笔记之-采集gbk乱码的问题?

栏目: Go · 发布时间: 5年前

package main

import (
    "bufio"
    "fmt"
    "golang.org/x/net/html/charset"
    "golang.org/x/text/transform"
    "io"
    "io/ioutil"
    "net/http"
)

func DetermineEncoding(r io.Reader) []byte {
    OldReader := bufio.NewReader(r)
    bytes, err := OldReader.Peek(1024)
    if err != nil {
        panic(err)
    }
    e, _, _ := charset.DetermineEncoding(bytes, "")
    reader := transform.NewReader(OldReader, e.NewDecoder())
    all, err := ioutil.ReadAll(reader)
    if err != nil {
        panic(err)
    }
    return all
}

func main() {
    resp, err := http.Get(`http://www.chinanews.com`)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    fmt.Printf(`%s`, DetermineEncoding(resp.Body))
}

以上所述就是小编给大家介绍的《golang学习笔记之-采集gbk乱码的问题?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大型分布式网站架构设计与实践

大型分布式网站架构设计与实践

陈康贤 / 电子工业出版社 / 2014-9-1 / 79.00元

《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了大型分布式网站架构设计的核心原理,并通过一些架构设计的典型案例,帮助读者了解大型分布式网站设计的一些常见场景及遇到的问题。 作者结合自己在阿里巴巴及淘宝网的实际工作经历展开论述。《大型分布式网站......一起来看看 《大型分布式网站架构设计与实践》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具