解决pycharm的爬虫乱码问题(初步了解各种编码格式)

  • Ascii码(American Standard Code for Information Interchange,美国信息互换标准代码):
    最初计算机只在美国使用时,只用8位的字节来组合出256(2的8次方)种不同的状态,把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,
  • 拓展字符集:世界各地的都开始使用计算机,一直把序号编到了最后一个状态255。从128到255这一页的字符集被称"扩展字符集"。
  • GB2312:
    GB2312 是对 ASCII 的中文扩展。当计算机传入中国后,规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为高字节)从0xA1用到0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了。这种方案叫做GB2312。
  • GBK:
    后来GB2312方案的汉字不够用了,干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。扩展之后的编码方案被称为 GBK 标准,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。
  • GB18030:
    后来又加入了加入了几千个少数民族的字,拓展成为GB18030
  • UNICODE:但全世界各种编码方式无法通行,于是出现了一种无视各种地区编码的世界统一的编码方式~Unicode。在Unicode中,一个字符就是两个字节。规定必须用两个字节,也就是16位来统一表示所有的字符,对于ascii里的那些“半角”字符,UNICODE 包持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。
  • UTF-8:
    前面介绍的都是字符集,而UTF-8,UTF-16则是一种编码规则。因为Unicode字符集都是用两个字节来存储的,所以在传输信息的过程中对资源浪费很大,就像原来Ascii码中的字符只需要一个字节来传递。于是出现了UTF-8这种变长的编码规则。
    因此UTF-8是基于Unicode的一种编码规则,因此现在最常用的便是UTF-8编码方式。

补充一点:
1.将字符转换为字节的方式称为编码
2.将字节转换为字符的方式称为解码


接下来介绍用pycharm来写爬虫时遇到的乱码问题:

首先打开file中的setting

再找到Editor中的File Encodings

将其中的GlobalEncoding和Project Encoding改为UTF-8即可。
为了以防万一,也可以将文件的编码方式也改为utf-8


pycharm右下角可以更改文件的编码方式
或者在setting中将文件编码改为utf-8
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 字符是用户可以读写的最小单位。计算机所能支持的字符组成的集合,就叫做字符集。字符集通常以二维表的形式存在。二维表的...
    刘惜有阅读 12,541评论 2 14
  • 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换...
    x360阅读 7,192评论 1 20
  • 得不到回应的热情会变冷 等不到响应的主动会放弃 有些事自己知道就好 没必要去追问 因为答案未必能接受 对于不喜欢你...
    木子皙913阅读 1,176评论 0 0
  • 1 我们在日常生活中听得最为多的一句话,“你看谁谁家条件多好,有房有车”或者是“你看谁谁条件多好,小伙长得机灵,工...
    YIBAO阅读 3,199评论 4 8
  • 现在美国是圣诞假期, 作为外企,因为所有工作都是美国分配, 而老板休假,员工自然是懒散的。所以上班时间,有闲心写写...
    只有香如故阅读 2,607评论 0 1