Python常用编码的区别介绍
Python2内容默认ascii进行编码,而Python3对内容进行编码的默认为utf-8。这个编码问题,也不是Python的问题,所有语言都有乱码的问题,所以今天主要跟大家聊聊这4个常见的编码 。
主要有以下几个编码:
1、ASCII
ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。
2、Unicode
俗称万国码,把所有的语言统一到一个编码里.解决了ascii码的限制以及乱码的问题。
unicode码一般是用两个字节表示一个字符,特别生僻的用四个字节表示一个字符。
3、UTF-8
新的问题出现了,如果统一成unicode编码,乱码问题从此消失了。但是如果你写的文本基本上都是英文的,用Unicode编码比ascii编码需要多一倍的存储空间,在存储和传输上十分不方便。
utf-8应用而生,它是一个"可变长的编码方式",如果是英文字符,则采用ascii编码,占用一个字节.如果是常用汉字,就占用三个字节,如果是生僻的字就占用4~6个字节.
4、GBK
GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。
介绍完上面四种,下面贴上一张5种常见编码的对比,更直观的了解这几种编码的区别 。
到此这篇关于Python常用编码区别的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python字符集和字符编码详情
目录 前言 字符集和字符编码 小结 前言 这一次我们分析一下Python的字符串,首先字符串是一个变长对象,因为不同长度的字符串所占的内存是不一样的:但同时字符串又是一个不可变对象,因为一旦创建就不可以再修改了. 而Python中的字符串是通过unicode来表示的,在底层对应的结构体是PyUnicodeObject.不过话说回来,为什么需要unicode呢? 首先计算机存储的基本单位是字节,由8个比特位组成,由于英文字母算上大小写只有52个,再加上若干字符,数量不会超过256个,因此一个字节完
-
python 中文编码乱码问题的解决
目录 前言: 一.什么是字符编码. 1.ASCII 2.GB2312 3.Unicode 4.UTF-8 二.Python2中的字符编码 三.decode()与encode()方法 四.一个字符编码的例子 前言: 中文编码问题一直是程序员头疼的问题,而Python2中的字符编码足矣令新手抓狂.本文将尽量用通俗的语言带大家彻底的了解字符编码以及Python2和3中的各种编码问题. 一.什么是字符编码. 要彻底解决字符编码的问题就不能不去了解到底什么是字符编码.计算机从本质上来说只认识二进制中的0和
-
python小例子-缩进式编码+算术运算符+定义与赋值
目录 一.缩进式编码 二.算术运算符 三.定义与赋值 以Python 3.x版本为主 一.缩进式编码 解释型:没有编译环节,直接运行执行代码显示效果 缩进式编码风格: 代码块不使用大括号{}包含类.函数逻辑判断代码 逻辑判断: a='你好' b='51CTO' f=True if f: c=a+','+b print (c) else: c=a+b print (c) 效果如下: 二.算术运算符 特点:易于学习.阅读.维护.跨平台.可扩展等 运算符 编号 算术运算符 符号 1
-
Python2和3字符编码的区别知识点整理
python解释器运行代码的流程启动python解释器(相当于文本编辑器)打开文件,显示这个字符并检查语法(涉及字符编码, a=1只是一个很普通的字符)解释字符 (涉及字符编码,再去内存空间 生成一个a=1的变量) python2用的是ascii, python3默认是utf8读取字符 # coding:gbk会告诉python3解释器用gbk编码读取字符 python3(了解) 你看到的其实是unicode 但是终端帮你把这个unicode的0和1做一个转换,从unicode转换成了终端能够识
-
python编码问题汇总
目录 一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 2. python解释器执行py文件的原理 二.字符编码简介 三.字符编码的发展史 四.字符编码的使用 五.Python2与python3编码区别 1.在python2中有两种字符串类型str和unicode 2. 在python3中也有两种字符串类型str和bytes 一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开
-
提升Python编码能力的3个重要概念
目录 1. 引言 2. 上下文管理器 3. 类型提示 4. 浅拷贝和深拷贝 5. 总结 1. 引言 Python 是由Guido Van Rossum 于 1991 年创建的一种编程语言.在过去的几年里,越来越多的公司开始使用 Python 进行项目开发,主要是因为它语法简单,有很多方便使用的第三方库.本文主要对Python中一些概念进行抽象总结,理解并使用它们可以极大地提升大家的编码能力. 2. 上下文管理器 上下文管理器允许我们以最佳方式分配和释放上下文的资源.对于某些资源的管理上,如果处理
-
Python 编码处理-str与Unicode的区别
一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 一运行,发现乱码(字符串处理,读写文件,print) 然后,大多数人的做法是,调用encode/decode进行调试,并没有明确思考为何出现乱码 所以调试时最常出现的错误 错误1 Traceback (most recent call last): File "<stdin>"
-
Python常用编码的区别介绍
Python2内容默认ascii进行编码,而Python3对内容进行编码的默认为utf-8.这个编码问题,也不是Python的问题,所有语言都有乱码的问题,所以今天主要跟大家聊聊这4个常见的编码 . 主要有以下几个编码: 1.ASCII ASCII码使用一个字节编码,所以它的范围基本是只有英文字母.数字和一些特殊符号 ,只有256个字符. 2.Unicode 俗称万国码,把所有的语言统一到一个编码里.解决了ascii码的限制以及乱码的问题. unicode码一般是用两个字节表示一个字符,特别生僻
-
Linux下find和grep常用命令及区别介绍
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等. (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找. 一.find命令 基本格式:find path expression 1.按照文件名查找 (1)find / -name httpd.conf #在根目录下查找文件htt
-
python自然语言编码转换模块codecs介绍
python对多国语言的处理是支持的很好的,它可以处理现在任意编码的字符,这里深入的研究一下python对多种不同语言的处理. 有一点需要清楚的是,当python要做编码转换的时候,会借助于内部的编码,转换过程是这样的: 复制代码 代码如下: 原有编码 -> 内部编码 -> 目的编码 python的内部是使用unicode来处理的,但是unicode的使用需要考虑的是它的编码格式有两种,一是UCS-2,它一共有65536个码位,另一种是UCS-4,它有2147483648g个码位.对于这两种格
-
Python 常用 PEP8 编码规范详解
Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: # (垂直隐式缩进)对准左括号 foo = long_function_name(var_one, var_two, var_three, var_four) # (悬挂缩进) 一般情况只需多一层缩进 foo = long_function_name( var_one, var_two, var_three, var_four) # (悬挂缩进) 但下面情况,
-
Python常用Web框架Django、Flask与Tornado介绍
web框架是什么? web开发框架是一组工具,同时也提供了非常多的资源,供软件开发人员构建和管理网站.提供web服务.编写web应用程序.它是一个抽象工具,能使开发应用程序和重复使用代码的过程变得更容易. 为什么需要web开发框架? 进行自定义软件开发时,web开发框架让整个过程变得更容易,因而开发速度更快.更高效.许多开发框架都很便宜,这也使得整个客户机的成本更小. 一个被广泛使用的框架安全性更高.这主要依赖于该框架背后的社区,在这里,用户成为长期的测试人员,并可以提供修复. 如果发现了安全漏
-
Python import与from import使用及区别介绍
下面介绍下Python import与from import使用,具体内容如下所示: Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.Python本身也内置一组模块(即标准库).每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,比如,math模块包含了数学运算相关的函数,random模块包含随机数相关的函数,等等. 一.import语句 在开始使用一个模块中的函数之前,必须用import语句导入该模块.
-
python 列表,数组和矩阵sum的用法及区别介绍
1. 列表使用sum, 如下代码,对1维列表和二维列表,numpy.sum(a)都能将列表a中的所有元素求和并返回,a.sum()用法是非法的. 但是对于1维列表,sum(a)和numpy.sum(a)效果相同,对于二维列表,sum(a)会报错,用法非法. 2. 在数组和矩阵中使用sum: 对数组b和矩阵c,代码b.sum(),np.sum(b),c.sum(),np.sum(c)都能将b.c中的所有元素求和并返回单个数值. 但是对于二维数组b,代码b.sum(axis=0)指定对数组b对每列求
-
深入理解Python中的 __new__ 和 __init__及区别介绍
本文的目的是讨论Python中 __new__ 和 __ini___ 的用法. __new__ 和 __init__ 的区别主要表现在:1. 它自身的区别:2. 及在Python中新式类和老式类的定义. 理解 __new__ 和 __init__ 的区别 这两个方法的主要区别在于:__new__ 负责对象的创建而 __init__ 负责对象的初始化.在对象的实例化过程中,这两个方法会有些细微的差别,表现于:如何工作,何时定义. Python中两种类的定义方式 Python 2.x 中类的定义分为
-
Python函数any()和all()的用法及区别介绍
引子 平常的文本处理工作中,我经常会遇到这么一种情况:用python判断一个string是否包含一个list里的元素. 这时候使用python的内置函数any()会非常的简洁: fruits = ['apple', 'orange', 'peach'] str = "I want some apples" if any(element in str for element in fruits): print "string contains some fruits."
-
python requests包的request()函数中的参数-params和data的区别介绍
如下所示: import requests url='http://www.baidu.com' #下面使用requests.request(method, url, **kwargs) re=requests.request('GET',url) 经验证,可用. 我们试着传入一个字典,首先用params参数. 结果为: 亮点在url和args. 我们还用get方法,把dic这个字典传给data试试看. 亮点还是在args和url.惊喜地发现,dic这个字典没传进去. 这是因为: params是
随机推荐
- Angular的事件和表单详解
- SqlServer批量备份多个数据库且删除3天前的备份
- 详谈Spring对IOC的理解(推荐篇)
- iOS中指纹识别常见问题汇总
- java异常处理详细介绍及实例
- bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
- 简单实现js无缝滚动效果
- Android实现相机拍摄、选择、图片裁剪功能
- asp页面提高的访问速度的方法详解
- 植树节是几月几日,植树节的的由来和意义整理
- 支持数组的ADDSLASHES的php函数
- js猜数字小游戏的简单实现代码
- 基于文本的搜索
- 十兆空间为您提供20M免费静态空间服务
- 解决JSON.stringify()自动将中文转译成unicode的问题
- Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
- Python安装selenium包详细过程
- vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
- Moment.js实现多个同时倒计时
- vuex根据不同的用户权限展示不同的路由列表功能