二进制:

ascll:只能存英文和拉听字符,一个字符占一个字节,8位

gb2312:只能存6700多个中文,1980年

gbk1.0:能存2万多字符,1995年

gbk18030:2000 27000万字符

unicode:统一各个国家的编码,万国码。每个字节占四个字节,

最初表现形式utf-32,一个字符占4个字节,后面出现了utf-16,一个字符占2个字节或者2个以上(65535个字符),

最后出现utf-8:英文用ascll来存,一个中文占三个字节,其他文字有占2个字节的。

所有的在中国发行的软件都必须支持gb18030字符编码。

计算机里,unicode 称呼为万国码,可以作为中间语言用于不同编码的软件进行交互。

把gpk 转成unicode,为编码encode,

gbk将unicode编码的代码转换成gbk能理解的,为解码decode

in python2

默认编码为ASCII编码,写中文的时候,必须先声明 -*-coding:utf8-*-

GBK 转换成UTF-8流程:

1 gbk 通过decode 成unicode编码.

2 unicoe 通过encode 成utf-8编码

in python3

所有文件的默认字符编码为unicode,所以在编码时可以直接编码成所需的编码类型,不需要先decode了

但是如果unicode 去转换成gbk,显示的就是bytes了,其实unicode默认就支持中文的,没什么非常的必要,不需转成gbk  

encode 在编码的同时,会把数据转换成bytes类型

decode 在解码的同时,会把bytes转换成字符串类型

b =bytes 字节类型 一种数据类型,不同

python语法_字符编码的更多相关文章

  1. python基础_字符编码

    字符编码的历史 阶段一:现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII 阶段二:为了满足中文,中国人定制了GBK 阶段三:各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的 ...

  2. python语法_字符类型

    str(string): 字符串   str(被转换的数据) int(interger):整数   int(被转换的数据)

  3. Python中的字符编码

    一.文本编辑器存取文件的原理: #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失 #2.要想永久保存,需要点击保存按钮:编辑器把内存的 ...

  4. python学习之路_字符编码

    字符编码及python中的转码问题,这篇博客讲的比较清楚,python 之路,致那些年,我们依然没搞明白的编码

  5. Python基础(5)_字符编码、文件处理

    一.文件读取过程: 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数 ...

  6. python基础语法_字符串编码

    Python常用字符编码 http://www.cnblogs.com/schut/p/8406897.html   Python常见字符编码间的转换   在字符串写入文件时,有时会因编码问题导致无法 ...

  7. python 基础之字符编码和文件处理

    一.字符编码 (1)计算机基础知识 (2)python 解释器执行py文件的原理 <1>python 解释器启动 <2>python解释器相当于一个文本编辑器,打开txt.py ...

  8. Python系列之 - 字符编码问题

    1.内存和硬盘都是用来存储的. CPU:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编 ...

  9. Python编程Day7——字符编码、字符与字节、文件操作

    一.字符编码 重点 ***** 1. 什么是字符编码:将人识别的字符转换计算机能识别的01,转换的规则就是字符编码表2. 常用的编码表:ascii.unicode.GBK.Shift_JIS.Euc- ...

随机推荐

  1. js实现可输入的下拉框

    <HTML> <HEAD> <META http-equiv='Content-Type' content='text/html; charset=gb2312'> ...

  2. densenet 中的shortcut connection

    DenseNet  在FCN 网络中考虑加入skip connection,在resnet 中加入identity 映射,这些 shortcut connection等结构能够得到更好的检测效果,在d ...

  3. wc 命令详解

    1.wc 命令作用 统计文件里面有多少单词,多少行,多少字符. 2.wc 语法 wc [-lwm] 选项与参数:-l :仅列出行:-w :仅列出多少字(英文单字):-m :多少字符: 3.例子 使用w ...

  4. Pytorch报错记录

    1.BrokenPipeError 执行以下命令时: a,b = iter(train_loader).next() 报错:BrokenPipeError: [Errno 32] Broken pip ...

  5. percona-toolkit 之 【pt-online-schema-change】说明【转】

    背景: MySQL 大字段的DDL操作:加减字段.索引.修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响.在5.1之后随着Plugin Innodb的出现在线加索引的提 ...

  6. Beta冲刺(1/7)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(1/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 团队完成测试答辩 整理博客 复习接口 接下来的 ...

  7. 网络编程中select模型和poll模型学习(linux)

    一.概述 并发的网络编程中不管是阻塞式IO还是非阻塞式IO,都不能很好的解决同时处理多个socket的问题.操作系统提供了复用IO模型:select和poll,帮助我们解决了这个问题.这两个函数都能够 ...

  8. SQL中笛卡尔积-cross join的用法

    在数学中,笛卡尔乘积是指两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 假设集合A={a ...

  9. 【原创】大数据基础之Ambari(2)通过Ambari部署ElasticSearch(ELK)

    ambari2.7.3(hdp3.1) 安装 elasticsearch6.3.2 ambari的hdp中原生不支持elasticsearch安装,下面介绍如何通过mpack方式使ambari支持el ...

  10. Django学习笔记(http协议与django安装)

    Django入门 HTTP协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器 ...