python字符编码使用的是什么编码_不可不知的Python字符编码使用技巧(上)-程序员宅基地

技术标签: python字符编码使用的是什么编码  

Python语言在网络爬虫领域应用的十分广泛。在爬虫的应用程序中,我们需要对网页上获取的数据进行处理,其中字符的编码、解码常常让人感到困惑:ASCII码、Unicode、字符编码什么的,很多朋友一直为此头大,那么,我们就分上、下两集来专门深入剖析这些内容。

先开始我们不讲编程,不堆概念,我们讲讲故事:说说字符编码是如何变成今天这样的

关于字符编码的概念太多太杂,当ASCII、GB2312、Unicode、UTF-8、UTF-16、编码、解码等诸多名词一股脑堆上来时,确实容易让人迷糊。

为了把这些问题讲清楚,我们从历史维度,在时间轴上梳理计算机在不同语言国家不断发展的过程,以此来彻底搞清楚这些概念。

1.字符编码与解码是什么

计算机自己能理解的“语言”是二进制数,最小的信息标识是二进制位,8个二进制位表示一个字节;而我们人类所能理解的语言文字则是一套由英文字母、汉语汉字、标点符号字符、阿拉伯数字等等很多的字符构成的字符集。如果要让计算机来按照人类的意愿进行工作,则必须把人类所使用的这些字符集转换为计算机所能理解的二级制码,这个过程就是编码,他的逆过程称为解码。

2.ASCII到Unicode的演进过程

计算机最开始在美国被发明使用,需要编码的字符集并不是很大,无外乎英文字母、数字和一些简单的标点符号,因此采用了一种单字节编码系统。在这套编码规则中,人们将所需字符集中的字符一一映射到128个二进制数上,这128个二进制数最高位为0,利用剩余低7位组成00000000~01111111(0X00~0X7F)。

0X00到0X1F这32个二进制数来对控制字符或通信专用字符(如LF换行、DEL删除、BS退格)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35808091/article/details/112936133

智能推荐

NASM 汇编编程(七)实战:获取用户输入_汇编怎样从控制台获得输入-程序员宅基地

文章浏览阅读1.5k次,点赞3次,收藏4次。NASM 汇编编程(七)_汇编怎样从控制台获得输入

SQL语句练习(Student,Course,SC表)_创建一张与sc表结构完全相同的基本表sc_like-程序员宅基地

文章浏览阅读8.5k次,点赞22次,收藏132次。Create table Student 主码,姓名(唯一),性别(男、女),年龄(18—25)CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /* 列级完整性约束条件,Sno是主码*/ Sname CHAR(20) UNIQUE, /* Sname取唯一值*/ Ssex CHAR(2) check (Ssex in ('男','女')), Sage SMALLINT check (Sage betwe.._创建一张与sc表结构完全相同的基本表sc_like

Gradle 配置国内镜像_gradle国内镜像源-程序员宅基地

文章浏览阅读5.6k次。使用国内源来配置gradle加速下载_gradle国内镜像源

Python自动化测试框架有哪些?(总结几种)-程序员宅基地

文章浏览阅读5.2k次。随着Python语言的使用越来越流行,基于Python的测试自动化框架也越来越流行。在项目选择最佳框架时,开发人员和测试人员会有些无法下手。做出选择是应该判断很多事情,框架的脚本质量,测试用例的简单性以及运行模块并找出其缺点的技术。这篇文章总结了测试自动化领域,适合Web端自动化框架(基于Python语言)以及它们相对于其他方面的优缺点。因此,可以帮助一些人根据需要和实际情况选择合适的的Python框架进行测试自动化。_python自动化测试

ElementUI Pagination 分页修改背景色_el-pagination 美化-程序员宅基地

文章浏览阅读2.4k次。CSS 代码可以在CSS里面增加其他代码,设置选中后的背景颜色等::v-deep .el-pagination.is-background .el-pager li:not(.disabled).active { background-color: #ff2832;}修改前修改后_el-pagination 美化

flask 返回前端可以拖动进度的视频流_http flask 206-程序员宅基地

文章浏览阅读1.7k次。近期在做一个pc webview的项目,用的是熟悉的flask+pywebview, 涉及到本地视频文件在前端页面上播放,最开始尝试直接打开文件,然后返回read的值,发现前端无法拖动进度条,查阅之后,才知道需要传输视频流,条件是:前端请求头携带 Range, 其值表示视频文件的读取起点后端需要在响应头中添加Content-Length,Content-Range,Accept-Range状态码需返回206具体配置如下,至于原因,不详,自己猜出来的。大概就是通过移动文件的指针来指定开始读取的地_http flask 206

随便推点

Flutter网络请求框架Dio源码分析以及封装(一)--请求流程分析_flutter dio封装-程序员宅基地

文章浏览阅读4.6k次,点赞3次,收藏7次。利用flutter开发app也已经有些时间了,这个过程中最多接触到的就是网络请求相关的代码。自己目前项目中使用的是现在市面上最流行的网络请求库-dio,相对于flutter自带的HttpClient来说,dio使用起来更简单,功能更强大,支持全局配置、Restful API、FormData、拦截器、 请求取消、Cookie 管理、文件上传/下载、超时以及自定义适配器等。_flutter dio封装

2024牛客寒假算法基础训练营1_2024csp题目-程序员宅基地

文章浏览阅读688次,点赞23次,收藏20次。2024牛客寒假营1【ABCGLMEFI】_2024csp题目

GBase 8a集群性能优化之group by 多列hash重分布_hash group by 优化-程序员宅基地

GBase 8a集群对随机分布表进行多列group by操作时,会以第一列进行hash重分布,可能造成数据倾斜影响性能。

解决 重定向次数过多 尝试清除cookie 的问题_重定向次数过多清除也没用-程序员宅基地

文章浏览阅读10w+次,点赞14次,收藏44次。在做登录防止用户没有登录而访问其他web资源的时候,写了一个过滤器,却在浏览器无法打开,出现重定向次数过多 尝试清除cookie,试过没有用。出现这个问题的原因是因为在过滤器中出现了无限循环重定向。出现无限循环重定向的原因分析如下:先上代码:package net.book.util;import javax.servlet.*;import javax.servlet.a..._重定向次数过多清除也没用

Android实现点击按钮跳转另外页面_android点击按钮跳转到另一个页面-程序员宅基地

文章浏览阅读6.1k次,点赞8次,收藏47次。在manifests->AndroidManifest.xml中添加创建的跳转的界面的activity。_android点击按钮跳转到另一个页面

C++几何库——cgal编译_cgal库 c++-程序员宅基地

文章浏览阅读1.4k次。资源准备cgal安装包:https://www.cgal.org/download/windows.html或者github上的cgal:https://github.com/CGAL/cgal(如果用这个的话,还是需要安装cgal,因为这个项目依赖的gmp的库在安装包里是直接编译好的)cmake安装包:https://cmake.org/boost库:https://dl.bi..._cgal库 c++

推荐文章

热门文章

相关标签