1、常见的四种编码方式的编码过程:

ascii
    A : 00000010 8位 一个字节
unicode

     A : 00000000 00000001 00000010 00000100 32位 四个字节
               中:00000000 00000001 00000010 00000110 32位 四个字节
utf-8

     A : 00100000 8位 一个字节
    中 : 00000001 00000010 00000110 24位 三个字节
gbk

     A : 00000110 8位 一个字节
    中 : 00000010 00000110 16位 两个字节
1),各个编码之间的二进制,是不能互相识别的,会产生乱码。
2),文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)

3),简单描述就是:

  ascii :  8位 1字节  表示1个字符
  unicode  32位  4个字节  表示一个字符
  utf- 8  1个英文 8位,1个字节
          欧洲 16位   两个字节  表示一个字符
          亚洲 24位   三个字节  表示一个字符
  gbk    1个英文 8位,1个字节
          亚洲 16位   两个字节  表示一个字符

2、python3 中的编码

  str类型的数据,是以unicode(32位表示一个字符)的形式存储到内存中,但是该方式编码不能存储到硬盘或者在网上传输,
于是就可以介绍3中的另外一个数据类型bytes,使用encode('utf-8/gbk/gb2132/等')函数,将str转换成bytes类型,
实际上就是将unicode代码转换成其他方便传输和存储的编码方式

演示代码:

 # 英文
s1 = 'Beijing'
s2 = b'Beijing'
print(type(s1), type(s2)) # 中文
s3 = '北京'
# s4 = b'北京' # 报错,不能如此写
# 需要编码
s5 = s3.encode('utf-8')
s6 = s3.encode('GBK')
print(s6) # 4个字节
s4 = b'\xe5\x8c\x97\xe4\xba\xac' # 看到是6个字节表示2个中文,这是utf-8的特性,如果是GBK,就是4个字节了
print(s4)

python基础之六:编码简介以及python3中的编码的更多相关文章

  1. 转 python3中SQLLIT编码与解码之Unicode与bytes

    #########sample########## sqlite3.OperationalError: Could not decode to UTF-8 column 'logtype' with ...

  2. python3中的编码与解码(超好理解)

    编码和解码是针对数据而言的,数据能干什么呢?无非就是用来显示,储存和传输的: 储存和传输数据当然是希望数据越小越好,所以发明了utf-8这种数据编码显示:它智能将英文用一个字节表示,欧洲的字符用两个字 ...

  3. python3中的编码

    python2字符串编码存在的问题: 使用 ASCII 码作为默认编码方式,对中文处理不友好 把字符串分为 unicode 和 str 两种类型,将unicode作为唯一内码,误导开发者 python ...

  4. Python3中的编码问题

    编码方式介绍 我们首先来熟悉一下常见的一些编码方式,按照时间轴来划分,共有以下几种编码方式(常见): ASCII编码方式:对127个常见字符进行编码,其中包含了10个阿拉伯数字,共52个大小写英文字母 ...

  5. 在python3中的编码

    在python3中的编码 #_author:Administrator#date:2019/10/29import sysprint(sys.getdefaultencoding())#utf-8 打 ...

  6. python基础(5):格式化输出、基本运算符、编码问题

    1. 格式化输出 现在有以下需求,让⽤户输入name, age, job,hobby 然后输出如下所⽰: ------------ info of Alex Li ----------- Name : ...

  7. Python基础系列----语法、数据类型、变量、编码

    1.基本语法                                                                                        Python ...

  8. Python基础篇 -- 小数据池和再谈编码

    小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 = ...

  9. 一篇文章助你理解Python3中字符串编码问题

    前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...

随机推荐

  1. Mysql遇到的问题总结

    1.解决导出csv中文乱码问题: 将csv用txt打开,另存为,选择utf8编码即可. 解决导入问题: mysql安装目录下的my.ini,增加如下参数: [client]default-charac ...

  2. STM32调试,发现HAL_Init();之后无法调试,甚至无法让程序停下来

    症状 最近开始学习STM32Cube,发现新建工程后无法正常调试,过了HAL_Init();之后就无法继续调试了. 无法进行让程序暂停以及停止等操作.并在输出窗口不断刷出 ERROR: Can not ...

  3. JMM与happens-before

    happens-before是JMM最核心的概念,理解happens-before是理解JMM的关键. 一.JMM的设计 首先,让我们先分析一下JMM的设计意图.从JMM的设计者的角度,在设计JMM的 ...

  4. PHP获取cookie、Token、模拟登录、抓取数据、解析生成json

    本文介绍使用PHP获取cookie,获取Token.以及模拟登录.然后抓取数据.最后解析生成json的的过程. 0. 设置Cookie路径 set_time_limit(0); //使用的cookie ...

  5. Linux环境下如何计算CPU占用率【华为云技术分享】

    1.Linux 环境下查看 CPU 信息 1.1.查看 CPU 详细信息 通过 cat /proc/cpuinfo 命令,可以查看 CPU 相关的信息: [root@rh ~]$ cat /proc/ ...

  6. Python程序调试工具Py-Spy

    序言 如果你是从Java语言开发转Python开发,可能在庆幸自己的开发效率提高了很多,但是也有痛苦的时候,比如你会怀念jstack,jmap, 等各种工具在生产环境做perfomance tunin ...

  7. python程序设计基础(程序设计基础方法)

    python初学者程序练习题 注:练习题涉及到range()函数的使用方法和python绘制,后面会单独发篇解释说明. 1.字符串拼接.接收用户输入的两个字符串,将它们组合后输出 str1=input ...

  8. aspx页面,后端通过Attributes.Add给textbox添加事件时,传参失效问题。

    测试一:------------------------------------------------------------------------------------------------ ...

  9. 如何disabled禁用所有表单input输入框元素

    转载地址:https://www.zhangxinxu.com/wordpress/?p=8568 一.pointer-events:none和覆盖层方法的问题 经常会遇到需求,需要禁用div中或者f ...

  10. 解决 new file()在IOS下不兼容 的问题

    最近 做项目,做的要是拍照后上传相片,以file格式上传..所以 拍照 后用canvas生成base64格式再转file..在PC和安卓都是没有问题,到IOS上面不行..new file后就是生成一个 ...