【Python3之字符编码】】的更多相关文章

一.字符集和字符编码 1.定义 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的英文.汉字等字符是二进制数转换之后的结果.通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码":反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密.在解码过程中,如果使用了错误的解码规则,则导致'a'解析成'b'或者乱码. 字符(Character):是一个信息单位,在计算机里面,一个中文汉字是一个字符,一个英文字母是…
最近在进行网络爬虫时,被中文的编码问题搞得很头疼,特别是在windows环境下. 1.爬取到的中文网页内容,在解析时出现解析错误 一般情况下,我们都是用urllib中的相关函数,进行web页面的爬取,然后进行相关处理. 但是经常在处理中文web时,对文本内容的处理,经常出现一些编码错误. 为了彻底解决这个问题,一般是先编码再解码,但是还是会儿出现一些问题…… 后来,我的解决办法: 使用requests库,很好地支持非英文字符. import requests response = request…
摘要:Python中文虐我千百遍,我待Python如初恋.本文主要介绍在Python2/3交互模式下,通过对中文.英文的处理输出,理解Python的字符编码与解码问题(以点破面). 前言:字符串的编码一开始是 ascii,只支持英文,由于多种语言的存在,出现万国码 unicode,但 unicode 不兼容 ascii,而且对存储空间造成浪费,所以出现 utf-8 编码,一种针对 unicode 的可变长度字符编码. Python3的字符编码与解码输出 >>> hi = b'hello,…
ASCII码.Unicode.utf-8 ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示255个符号. Unicode(统一码.万国码.单一码)是一种在计算机上使用的字符编码.Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语…
编码 字符串是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算…
目录 字符编码应用之Python(掌握) 执行Python程序的三个阶段 Python2与Python3字符串类型的区别(了解) Python2 str类型 Unicode类型 Python3 字符编码应用之Python(掌握) 执行Python程序的三个阶段 Python test.py(我再强调一遍,执行test.py的第一步,一定是先将文件内容从硬盘读入到内存中) test.py文件内容以gbk格式保存的,内容为: 阶段一:启动Python解释器 阶段二:Python解释器此时就是一个文本…
python2与python3默认编码: python2:gbk                   print( u'上' )     操作系统也是 gbk    python3:unicode print( '上’ ) 字符编码转换关系: unicode -->encode (编码)-->gbk  其他形式的二进制               write gbk  其他形式的二进制 -->decode (解码)-->unicode               read 各种编码…
编码 字符串是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算…
计算机基础(掌握) 启动应用程序的流程 双击qq 操作系统接受指令然后把该操作转化为0和1发送给CPU CPU接受指令然后把指令发送给内存 内存接受指令把指令发送给硬盘获取数据 qq在内存中运行 文本编辑器存取文件的原理 在文本编辑器中按下键盘中j的时候 文本编辑器和操作系统交互,把这个按下j的指令转化为0和1 操作系统发送治指令给CPU CPU把这个0和1的指令 转化为 j 然后再由显示器显示 期间发生的过程,我们称之为字符编码 Python解释器的原理 启动python解释器,python解…
目录 昨日回顾 二十三.元组内置方法 二十四.散列表 二十五.字典内置方法 二十六.集合内置方法 二十七.深浅拷贝 拷贝 浅拷贝 深拷贝 今日内容 二十八.字符编码 1.文本编辑器存储信息的过程 2.gb2312和gbk的区别 3.编码和解码 4.python解释器解释python代码的流程 二十九.python2和python3的编码区别 python2 python3 昨日回顾 二十三.元组内置方法 不可更改的列表,其他的和列表一摸一样 二十四.散列表 二十五.字典内置方法 乱序 pytho…
首先ASCII码是美国人自己给自己用的,只针对英文及一系列符号,凭想象预留了编码位置,不料有个东方大国文字过于复杂,预留根本不够,所以这个大国重新搞了个编码gb2312.gbk等,结果就是全世界各国都搞自己的,一旦跨国就乱套了,所以有个国际组织搞了个Unicode ,就是搞了个编码转换平台,各国交流使用时都到我这平台上来转成相应的编码,我给大家提供转码服务,但是但是,这东西对于西方国家来说,这东西太占空间啦,因为ASCII码太简单了用不了我大国这多空间来存字符,所以又搞了个UTF-8实现想长就长…
目录 1. 字符编码 2. 文本编辑器存储信息的过程 3. 编码: 1. 编码的历史 2. gb2312和gbk的区别 3. 编码和解码 4. python解释器 解释代码的流程 1. 读取文本到解释器 2. 识别代码(检查语法问题) 3. 往终端打印 1. 字符编码 字符:就是存储了信息的东西 键盘发送等等是电流-->主机(内存)接收到电流(当做010101011101)-->显示屏 接收电流 (当做010101010-->键盘) 2. 文本编辑器存储信息的过程 文本编辑器-->…
目录 字符编码 文本编辑器存储信息的过程 python解释器解释python代码的流程 python解释器与文本编辑器的异同 不同编码格式存入与读取数据的过程 乱码的分析 python2和python3字符编码的区别 python2 python3 字符编码 文本编辑器存储信息的过程 打开编辑器就在内存中打开了一个进程,用编辑器编写的内容存在内存中,断电会丢失. 点击保存,编辑器把内存的数据刷到了硬盘上. 编写.py文件(没有执行时)和编写其他文件没有区别,只是在写一堆字符. python解释器…
1.1什么是字节 字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符. 比特(bit)在计算机中最小的单位,在二进制位的电脑的系统中,每一bit,表示0或1 ,的数字信号. 1.1.1在不同字符编码的字节表示 ASCII码:一个英文字母(不分大小写)占一个字节(1B)的空间.一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算成10进制,最小值0,最大值255. utf-8编码:一个英文字符等于一个字节,一个中文(含…
首先简单说一下字符编码的问题.平常遇到比较多的就是ASCII码(全称:美国信息交换标准码).ASCII码使用一个字节(8位)来表示一些常见的数字.英文字母以及一些控制字符.英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的.比如中文汉字就无法用ASCII来表示和编码.为了对世界上的各种语言符号进行统一的编码,于是发明了Unicode.Unicode将世界上所有的文字符号都纳入其中.每一个符号都给予一个独一无二的编码,这就是Unicode.就像它的名字都表示的,这是一种所有符…
第一个python程序: Hello World程序 windows命令行中输入:python,进入python交互器,也可以称为解释器. print("Hello World!") windows中 新建文本文件:d:\helloworld.py,键入: print("Hello World!"), 命令行中运行:python d:\helloworld.py linux中 编辑helloworld.py: #!/user/bin/env python print…
***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-8就是unicode 3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string 一.python2 py2里默认编码…
字符编码与encode.decode的问题:  用8个开关表示世界万物   ASCII :  American Standard Code for Information Interchange,美国信息互换标准代码,只用了前7位,127个状态   GB2312:是对ASCII的中文扩展(前127不变,大于127的+后边另一个大于127的表示中文)两个字节表示一个汉字   GBK:包括了GB2312 的所有内容,增加了近20000个新的汉字(包括繁体字)和符号   GB18030:加了几千个新的…
本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章.有的人云亦云,也有的写得很深入.近日看到某知名培训机构的教学视频中再次谈及此问题,讲解的还是不尽人意,所以才想写这篇文字.一方面,梳理一下相关知识,另一方面,希望给其他人些许帮助. Python2的 默认编码 是ASCII,不能识别中文字符,需要显式指定字符编码:Python3的 默认编码 为Uni…
一.什么是字符编码 计算机要想工作必须通电,也就是说‘电’驱使计算机干活,而‘电’的特性,就是高低电压(高低压即二进制数1,低电压即二进制数0),也就是说计算机只认识数字 编程的目的是让计算机干活,而编程的结果说白了只是一堆字符,也就是说我们编程最终要实现的是:一堆字符驱动计算机干活 所以必须经过一个过程: 字符串--------(翻译过程)------->数字 这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之为字符编码 二.字符编码分类 计算机由美国人发明,最早的字符编码为AS…
一.集合操作(set)                                                                                                                               1.定义: set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小), 用 for 循环…
在2.7环境中我们要写上这一行#-*- coding:utf-8 -*- 为什么我们要加这一行呢?这一样的意思是置顶编码类型为utf-8编码! 首先在看这个问题之前,咱们是否曾想过一个问题? 为什么我们可以在显示器上能看到这些文字.数字.图片.字符.等等信息呢?大家都知道计算机本身只能识别 0 1 的组合,他们是怎么展示这些内容的呢?我们怎么和计算机去沟通呢? 如果我们使用0 1 的组合和计算机沟通你还能看到这些内容吗?还有一个问题就是01的组合对于咱们说几乎看不懂对吧! 那怎么办?如何让计算机…
1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集.并集等操作. 1.2     常用操作: s = set([3,5,9,10]) # 创建一个数值集合 t = set("Hello") # 创建一个唯一字符的集合 a = t | s # 求 t 和 s 的并集 b = t & s # 求 t 和…
字符编码 在python2默认编码是ASCII, python3里默认是utf-8 unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-8就是unicode 在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string 函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 特性: 减少重复代码 使程序变的…
阅读目录 一.什么是字符编码 二.字符编码分类 三.字符编码转换关系 3.1 程序运行原理 3.2 终极揭秘 3.3 补充 总结 回到顶部 一.什么是字符编码 计算机要想工作必须通电,也就是说'电'驱使计算机干活,而'电'的特性,就是高低电压(高低压即二进制数1,低电压即二进制数0),也就是说计算机只认识数字 编程的目的是让计算机干活,而编程的结果说白了只是一堆字符,也就是说我们编程最终要实现的是:一堆字符驱动计算机干活(CPU只执行数字组成的指令). 所以必须经过一个过程: 字符串------…
Python : 熟悉又陌生的字符编码 字符编码是计算机编程中不可回避的问题,不管你用 Python2 还是 Python3,亦或是 C++, Java 等,我都觉得非常有必要厘清计算机中的字符编码概念.本文主要分以下几个部分介绍: 基本概念 常见字符编码简介 Python 的默认编码 Python2 中的字符类型 UnicodeEncodeError & UnicodeDecodeError 根源 基本概念 字符(Character) 在电脑和电信领域中,字符是一个信息单位,它是各种文字和符号…
程序语言的发展 机器语言 程序语言,最初的计算机语言是机器语言,完全是0和1组成的二进制串  如:01010101 11010101 汇编语言 因为01010101的字符串,冗长,不利于维护,所以产生了带助记符的汇编语言 举例:fua = 01010101    fub = 11010101 c语言 在汇编的基础上开发了c语言 有了常量,变量,字符串,等运算规则 java.c#.php.python 在c语言的基础长有发展了java.c#.php.python 等各种语言 这些语言都需要安装运行…
前言 字符编码非常容易出问题,我们要牢记几句话: 1.用什么编码保存的,就要用什么编码打开 2.程序的执行,是先将文件读入内存中 3.unicode是父编码,只能encode解码成其他编码格式 utf-8,GBK这些是子8编码,只能decode编码成Unicode 一.什么是字符编码 我们知道,计算机只能识别二进制,我们平时写的代码都需要转成二进制才能被计算机识别.所以,我们写的字符怎么转换成二进制呢,这个过程实际就是通过一个标准使我们写的字符与特定数字一一对应,这个标准就称为字符编码. 字符-…
今天我们进入字符编码的学习.字符编码是一个多理论少结论的知识点,我会总结很多的知识点.我们只需要通读当作了解即可,最后我会总结需要我们理解掌握的重点. 一.学习字符编码的计算机基础储备 1.计算机软件运行基础图解 2.文本编辑器存取文件原理.(nodepad++,pycharm,word) 打开编辑器就打开了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失.因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上. 在这一点上,我们编写一个py文件(没有…
1.内存和硬盘都是用来存储的. CPU:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编写的内容也都是存放在内存中的,断电后数据就丢失了.因而需要保存在硬盘上,点击保存按钮或快捷键,就把内存中的数据保存到了硬盘上.在这一点上,我们编写的py文件(没有执行时),跟编写的其他文件没有什么区别,都只是编写一堆字符而已. 3.python解释器执行py文件的原理,例如python  test.…