V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
EthanDon
V2EX  ›  程序员

菜鸡求助, go 爬虫得到的二进制 utf8 数据解码相关

  •  1
     
  •   EthanDon · 2019-08-07 14:56:44 +08:00 · 1789 次点击
    这是一个创建于 1722 天前的主题,其中的信息可能已经有所发展或是发生改变。

    html 的 content-type 是 utf8

    go read body 获得的是二进制

    这两个有什么联系吗? utf8 的形式不应该是\u 开头的吗(大概记得是这样

    网上找了几个 demo 都没能成功解码(或许我应该编码?)

    求助各位前辈

    8 条回复    2019-08-08 11:11:16 +08:00
    whoami9894
        1
    whoami9894  
       2019-08-07 16:29:51 +08:00 via Android
    read 出来的是[]byte,content type 是 utf8 的话直接 string(data)就可以了
    dabaibai
        2
    dabaibai  
       2019-08-07 16:32:14 +08:00
    一般我都是 把几种解密都写了, 直到解密函数不返回 error 为止... 比较笨
    EthanDon
        3
    EthanDon  
    OP
       2019-08-07 18:42:37 +08:00
    @whoami9894 string 出来是乱码,后来我查到一个库可以检测是什么编码,检测出来是 windows-1253 。。。
    @dabaibai 实不相瞒我也是这样搞的,但是主流编码解析出来都是乱码。。。我怀疑它原来的编码就不是 utf8
    whoami9894
        4
    whoami9894  
       2019-08-07 20:17:41 +08:00
    @EthanDon
    URL 贴出来看看
    GuangXiN
        5
    GuangXiN  
       2019-08-07 20:57:00 +08:00 via Android   ❤️ 1
    检查一下 content encoding 是否 gzip 了
    lsls931011
        6
    lsls931011  
       2019-08-07 21:48:27 +08:00
    URL 贴出来看看
    gamexg
        7
    gamexg  
       2019-08-07 23:21:45 +08:00
    将二进制 body 写到文件,然后用文本编辑器打开,手工测试到底是什么编码。
    EthanDon
        8
    EthanDon  
    OP
       2019-08-08 11:11:16 +08:00
    @whoami9894
    @GuangXiN
    @lsls931011
    @gamexg 已经确认了是 gzip 了,感谢各位大佬🙏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1113 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:54 · PVG 06:54 · LAX 15:54 · JFK 18:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.