• 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

解决pycharm的爬虫乱码问题(初步了解各种编码格式)的更多相关文章

  1. 解决docker容器中文乱码,修改docker容器编码格式

    前台上传文件到服务器后,服务器返回给前台的文件列表中出现中文乱码,所有的中文文件名全部变成?,英文文件名则正常显示. 问题经过定位,发现后台代码的multipartfile类在执行transterto ...

  2. 解决pycharm左侧项目文件名中文字体乱码情况?中文显示口口口口.

    解决pycharm左侧项目文件名中文字体乱码情况?中文显示口口口口. 点击file,进入settings 出现 Appearance & Behavior 点击Appearance UI Op ...

  3. Windows转到linux中,文件乱码,文件编码转换 & 解决sqlplus连接oracle乱码

    转载:http://www.cnblogs.com/wanyao/p/3399269.html 最近,学习又重新开始Linux学习,所以一直在Centos中,昨天一朋友把他在Windows下写的C程序 ...

  4. [JBoss] - 解决URI提交时乱码问题

    JBoss 7 AS解决url提交数据乱码的问题: 打开jboss-as-7.1.1.Final\standalone\configuration\standalone.xml文件,在<exte ...

  5. 教你解决Sublime Text中文乱码问题

    教你解决Sublime Text中文乱码问题[转载自成长的企鹅]       Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦. ...

  6. 分享一个解决MySQL写入中文乱码的方法

    分享一个解决MySQL写入中文乱码的方法 之前有发帖请教过如何解决MySQL写入中文乱码的问题.但没人会,或者是会的人不想回答.搜索网上的答案并尝试很多次无效,所以当时就因为这个乱码问题搁浅了一个软件 ...

  7. 完美解决Informix的中文乱码问题

    完美解决Informix的中文乱码问题  Informix是IBM旗下的一款数据库,要不是这个项目需要,估计这辈子我都不知道居然还有这么一款数据库.想来公司的项目遍布全国各地,各种部署环境各种应用场景 ...

  8. pycharm控制台中文乱码问题

    pycharm控制台中文乱码问题一般是因为之前有配置保存到了文件里, C盘下.pycharm文件夹下有配置文件,删除文件后重装pycharm,配置会重置 不过最后解决问题的做法是删除配置文件后,重新装 ...

  9. 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题

    原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会. ...

随机推荐

  1. C++ struct结构体内存对齐

    •小试牛刀 我们自定义两个结构体 A 和 B: struct A { char c1; char c2; int i; double d; }; struct B { char c1; int i; ...

  2. NoSQL:Redis缓存、雪崩、击穿、穿透

    Redis介绍 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库 ...

  3. Knife4j 注解详谈

    Controller层添加注解 @Api:用于类:表示标识这个类是swagger的资源 属性名称 数据类型   默认值  说明  value      String  ""  字段 ...

  4. Spring Boot 传参 序列化和反序列化

    序列化 反序列化

  5. 使用过滤器获取系统目录或文件名(java.io)

    import java.io.File;import java.io.FilenameFilter; File[] file = new File("D:\\"); //使用Fil ...

  6. outlook配置osc地址(删除原账户重新配置)

    方法二:使用手动配置邮箱(适用于标准化未入域机器) Step1:在"开始"菜单找到 "控制面板"并打开(或按键盘上的"Win"+" ...

  7. IOC的优点是什么?

    IOC 或 依赖注入把应用的代码量降到最低.它使应用容易测试,单元测试不再需要单例和JNDI查找机制.最小的代价和最小的侵入性使松散耦合得以实现.IOC容器支持加载服务时的饿汉式初始化和懒加载.

  8. Redis 如何设置密码及验证密码?

    设置密码:config set requirepass 123456 授权密码:auth 123456

  9. 客户端回调 Watcher?

    客户端 SendThread 线程接收事件通知,交由 EventThread 线程回调 Watcher. 客户端的 Watcher 机制同样是一次性的,一旦被触发后,该 Watcher 就失效了.

  10. AOP——基于AspectJ的注解来实现AOP操作

    1.使用注解方式实现AOP操作 第一步:创建对象 <!-- 创建对象 --> <bean id="book" class="com.bjxb.aop.B ...