Unicode编码和ASCII码两者都是机器能够理解的编码,你就是说出现一个码,计算机知道它对应哪种符号。因为这种编码形式将不同的字符全都和电平的高低电位联系在一起。

Unicode,这种编码是全球通用的编码,就是说所有计算机都包含的编码。包含 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节),这三种形式。

也就是说utf-8,就是一种Unicode的编码。

utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间。

GBK编码就是另一种编码的形式。这是包含中文汉字的一种早期编码形式,但是,没有包含所有的汉字。并且和Unicode的不同。所以如果以g b k编码的形式存储,我们就要专门指定用g b k的形式进行解码。

1.在python2默认编码是ASCII, python3里默认是unicode;另外每个软件通常也会有自己默认的编码形式。

2.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

3.另外,这里非常值得注意的事情是,我们所关心的字符编码,他的对象是字符而不是数字。数字基本上可以看成是直接存储的。

http://www.cnblogs.com/yuanchenqi/articles/5956943.html

转载于:https://www.cnblogs.com/Ian-learning/p/7906775.html

Python学习-字符编码的理解相关推荐

  1. (转载)Python常见字符编码间的转换

    Python常见字符编码间的转换 主要内容:     1.Unicode 和 UTF-8的爱恨纠葛     2.字符在硬盘上的存储     3.编码的转换     4.验证编码是否转换正确     5 ...

  2. python转换字符编码_Python常见字符编码间的转换

    学习Python,字符编码间的转换是绕不过去的一只拦路虎,不把编码彻底搞明白,总有一天它会猝不及防坑你一把. Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将 ...

  3. python中gbk字符原因报错_不想再被鄙视?那就看进来! 一文搞懂 Python 2 字符编码...

    原标题:不想再被鄙视?那就看进来! 一文搞懂 Python 2 字符编码 程序员都自视清高,觉得自己是创造者,经常鄙视不太懂技术的产品或者QA.可悲的是,程序员之间也相互鄙视,程序员的鄙视链流传甚广, ...

  4. 【爬虫】获取网页编码、chardet库、Python的字符编码

    目录 1.常用网页编码有 2.怎么知道一个网页的编码? 我们知道可以从审查元素(F12)通过查看元素获得. 那么有没有一种方法可以通过代码获取到编码呢? 3.chardet库 1.安装 2.chard ...

  5. python转换字符编码_转:Python常见字符编码及其之间的转换

    一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...

  6. Python常用字符编码(转)

    Python常用字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交换标 ...

  7. Python常见字符编码及其之间的转换

    参考:Python常见字符编码 + Python常见字符编码间的转换 一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Cod ...

  8. python基础|字符编码

    任何一个程序想要运行,必须先有硬盘加载到内存,然后由cpu去内存取只执行.运行着的应用程序的数据,必须在内存运行.python运行文件的三步,首先把python文件解释器读取到内存上,然后应用程序代码 ...

  9. Python常见字符编码间的转换教程

    1. 前言 Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将是主流,所以Python3为主),今天我们就来一起学习下. 2. Unicode 和 UTF-8的 ...

最新文章

  1. 调用实现天气预报功能android,Android编程实现获取新浪天气预报数据的方法
  2. java jstack dump 线程 介绍 解释
  3. sed编辑器: 非交互
  4. 命名空间“Microsoft.AspNet”中不存在类型或命名空间名“Mvc”
  5. CodeForces - 1543D2 RPD and Rap Sheet (Hard Version)(交互+模拟)
  6. 运算符重载——算术运算符重载
  7. Jarslink Demo Alibaba(教程 源码)
  8. [SCOI2005]骑士精神
  9. 绝对郁闷到死的NHibernate2.0。。。
  10. python进阶-argparse
  11. 【转载】20种PLC对应Modbus地址表
  12. c语言家庭财务管理算法,c语言家庭财务管理报告.doc
  13. html5调用 扫码枪,js读取usb扫码枪数据功能代码实现
  14. 收藏 | 绝不能错过的24个顶级Python库
  15. TypeError: empty() received an invalid combination of arguments
  16. Qt for WinRT
  17. [Java基础]JAVA的SWITCH语句(String)
  18. debian 刷新dns命令
  19. 秒杀ibluever 免越狱iPad wifi版连接蓝牙“双环”直接上网
  20. there to be和there being的辨析

热门文章

  1. 基于ARM的GCC编译器,各版本arm-gcc区别与安装
  2. 八篇 NeurIPS 2019 最新图神经网络相关论文
  3. 人工智能用哪个语言好 选择Python语言怎么样
  4. Linux grep不包含某些字符串的命令
  5. Fedora 30正在接近最终版,但首先它有一些bug需要解决
  6. word中将半角标点符号(如双引号等)转换为全角
  7. 伪元素写竖线_用伪元素画出太极图
  8. 堆空间大小怎么配置,各区域怎么划分
  9. 036_PageHeader页头
  10. red hat linux FTP配置