默认的内容类型/字符集是什么?

发布于 2021-01-29 14:55:09

根据此答案:urllib2读取为Unicode

我必须获取内容类型才能更改为unicode。但是,某些网站没有“字符集”。

例如,页面的[‘content-type’]是“ text / html”。我无法将其转换为unicode。

encoding=urlResponse.headers['content-type'].split('charset=')[-1]
htmlSource = unicode(htmlSource, encoding)
TypeError: 'int' object is not callable

是否有默认的“编码”(当然是英文)…,以便在找不到任何内容的情况下可以使用它?

关注者
0
被浏览
126
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    是否有默认的“编码”(当然是英文)…,以便在找不到任何内容的情况下可以使用它?

    不,没有。你必须猜。

    平凡的方法:尝试将解码为UTF-8。如果有效,则可能是UTF-8。如果不是,请为您正在浏览的页面类型选择最可能的编码。对于英文页面cp1252,即Windows西欧编码。(这就像ISO-8859-1;实际上cp1252iso-8859-1即使您指定了该字符集,大多数浏览器也会使用而不是,因此值得复制该行为。)

    如果您需要猜测其他语言,它将变得非常冗长。现有模块可以帮助您在这些情况下进行猜测。参见例如。沙丁鱼



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看