Python3中的编码问题
编码方式介绍
我们首先来熟悉一下常见的一些编码方式,按照时间轴来划分,共有以下几种编码方式(常见):
ASCII
编码方式:对127个常见字符进行编码,其中包含了10个阿拉伯数字,共52个大小写英文字母。GB2312
编码方式:由中国提出,对常见的汉字进行了编码,并且兼容ASCII
编码。Unicode
编码方式:国际统一字符编码,对所有的常见字符进行统一编码。UTF-8
编码方式:由Unicode
引申出来的可变长编码方式。
以上都是对字符编码的一些方式,目的就是为了显示、存储、传输的方便。
如果我们按照编码的长度进行区分:
ASCII
编码方式:1个byte
。GB2312
编码方式:若干byte
。Unicode
编码方式:若干byte
,编码长度最长。UTF-8
编码方式:若干byte
。
因为如果在存储或者是传输时使用Unicode
编码,那样太浪费空间了,所以才推出一个可变长的UTF-8
编码。这样既保证可以对所有的字符进行编码,又能合理利用空间。
Python3的编码方式
在Python3中,字符串str
是用Unicode
编码的。
字符串str
:
- 在内存中是
Unicode
编码。 - 在进行网络传输或者是磁盘存储时,需要转化成字节码(
bytes
),这时就需要用以上几种编码方式进行编码(encode)了。
因为英文字符只有一个字节,所以可以用ASCII
编码。但是中文字符不止一个字节,所以要用UTF-8
进行编码,当然英文同样可以用UTF-8
进行编码。
既然传输与存储对字符进行编码了,那我们将其读取到内存中时,就需要对其进行解码(decode)操作了,用什么编码,那么就用什么解码。逆向操作完之后,此时内存中就又是Unicode
编码的字符了。
Reference
Python3中的编码问题的更多相关文章
- python3中的编码与解码(超好理解)
编码和解码是针对数据而言的,数据能干什么呢?无非就是用来显示,储存和传输的: 储存和传输数据当然是希望数据越小越好,所以发明了utf-8这种数据编码显示:它智能将英文用一个字节表示,欧洲的字符用两个字 ...
- python3中的编码
python2字符串编码存在的问题: 使用 ASCII 码作为默认编码方式,对中文处理不友好 把字符串分为 unicode 和 str 两种类型,将unicode作为唯一内码,误导开发者 python ...
- 转 python3中SQLLIT编码与解码之Unicode与bytes
#########sample########## sqlite3.OperationalError: Could not decode to UTF-8 column 'logtype' with ...
- python基础之六:编码简介以及python3中的编码
1.常见的四种编码方式的编码过程: ascii A : 00000010 8位 一个字节 unicode A : 00000000 00000001 00000010 00000100 32位 四个字 ...
- 在python3中的编码
在python3中的编码 #_author:Administrator#date:2019/10/29import sysprint(sys.getdefaultencoding())#utf-8 打 ...
- 一篇文章助你理解Python3中字符串编码问题
前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...
- python2和python3中的编码问题
开始拾起python,准备使用python3, 造轮子的过程中遇到了编码的问题,又看了一下python3和python2相比变化的部分. 首先说个概念: unicode:在本文中表示用4byte表示的 ...
- python3中的编码与解码用法
#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = '人生入戏' #python3在编码时会把str编码成utf-8的bytes类型 ...
- python3中编码与解码的问题
python3中编码与解码的问题 ASCII .Unicode.UTF-8 ASCII 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此 ...
随机推荐
- Java是如何读到hbase-site.xml 的内容的
Java是如何读到hbase-site.xml 的内容的 Java客户端使用的配置信息是被映射在一个HBaseConfiguration 实例中. HBaseConfiguration有一个工厂方法, ...
- ASP.NET Core 3.0 实战:构建多版本 API 接口
第一次在博客写分享,请多多捧场,如有歧义请多多包含! 因为业务需求发展需要,所以API接口的变更升级是必不可少的事情,而原有的接口是不可能马上停止使用的.例如:Login接口为例,1.0版本之返回用户 ...
- C# HtmlAgilityPack和AngleSharp 解析HTML
C# HtmlAgilityPack和AngleSharp 解析HTML by:wgscd date:2018-1-17 HtmlAgilityPack 有点是只有一个单独DLL.AngleShar ...
- 2017-2018 Exp4 恶意代码分析 20155214曾士轩
目录 Exp4 恶意代码分析 实验内容 使用schtasks指令监控系统运行 主要思路 知识点 启发 Exp4 恶意代码分析 本次实验操使用Windows下的schtasks,sysmon,Proce ...
- 2017-2018-2 《网络对抗技术》20155322 Exp8 web基础
[-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实践过程 2.1-Web前端HTML 2.2-Web前端javascipt 2.3-Web后端 2.4 ...
- WPF编程,C#中对话框自动关闭的一种方法。
原文:WPF编程,C#中对话框自动关闭的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/8 ...
- JS 获取每月有几周(每周五到周四算作一周)
原文地址:https://caochangkui.github.io/data-week/ 将每周五至周四算作一周,计算每月有几周,并获取到每周的起始时间. 日期格式化 Date.prototype. ...
- win7笔记本VirtualBox安装黑苹果MacOS 10.13
环境 时间:2018.04.09,没有指明时间的教程都是耍流氓 笔记本:某州优雅A460P-i7G D2,4G内存,Intel Core i7-2670QM四核八线程(老笔记本勉强能用),ssd硬盘, ...
- JQ_One()函数特效
先看一个例子,当点击 p 元素时,增加该元素的文本大小,代码如下:<script type="text/javascript" src="http://keleyi ...
- Python_汇总生成统计报表
import xlrd import xlwt from xlutils.copy import copy objWb = xlrd.open_workbook(r'C:\Users\IBM\Desk ...