抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

Python 中的编码问题

爬取的所有网页无论何种编码格式,都应转化为 utf-8 格式进行存储,
与源代码编码格式不同会出现乱码。

UTF-8 通用性比较好,是用以解决国际上字符的一种多字节编码,
它对英文使用 8 位(即一个字节),中文使用 24 位(三个字节)来编码。

UTF-8 编码的文字可以在各国各种支持 UTF8 字符集的浏览器上显示,
也就是必须两者都是 utf-8 才行。

gbk 是是国家编码,通用性比 UTF8 差,GB2312 之类的都算是 gbk 编码。
GBK 包含全部中文字符;UTF-8 则包含全世界所有国家需要用到的字符。

Unicode 是一种二进制编码,所有 utf-8gbk 编码都得通过 Unicode 编码
进行转译,即 utf-8gbk 编码之间不能直接转换

decode —–把当前字符解码成 Unicode 编码
encode —–把 Unicode 编码格式的字符编码成其他格式的编码

Python 默认使用 Unicode 字符集,做编码转换时,要把 Unicode 作为中间编码,
decode(解码)成 Unicode 编码,再 encode(编码)成其他编码。

Unicode 编码不能直接 encode 成其他编码,否则会报错

转换字符编码

如打印网页源代码出现乱码,先用 gbk 编码,忽略掉非法字符,然后再译码

print(r.text.encode('GBK','ignore').decode('GBk'))



网站内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站总访问量为 访客数为

本站使用 Volantis 作为主题 载入天数...载入时分秒...