博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python字符编码
阅读量:5377 次
发布时间:2019-06-15

本文共 1086 字,大约阅读时间需要 3 分钟。

一.字符编码

发展历程

1.ASCII码

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

每8个bit组成一个字节,这是计算机中最小的存储单位

bit           位,计算机中最小的表示单位8bit = 1bytes 字节,最小的存储单位,1bytes缩写为1B1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB1EB=1024PB1ZB=1024EB1YB=1024ZB1BB=1024YB
2.GBK和GB2312 显然,对于我们来说能在计算机中显示中文字符是至关重要的,然而刚学习的ASCII表里连一个偏旁部首也没有。所以我们还需要一张关于中文和数字对应的关系表。 3.Unicode 为了避免各国都用不同的标准,防止乱码的出现Unicode出现了,它把所有语言都整合到一起去了,但是缺点就是它比ASCII编程多了一倍的储存空间(通常需要两个字节) 4.UTF-8 对于通篇都是英文的文本来说,这种编码方式无疑是多了一倍的存储空间(二进制最终都是以电或者磁的方式存储到存储介质中的) 于是产生了UTF-8,对英文字符只用1Bytes表示,对中文字符用3Bytes 总结: unicode:简单粗暴,通常字符都是2Bytes,优点是字符->数字的转换速度快,缺点是占用空间大 utf-8:精准,对不同的字符用不同的长度表示,优点是节省空间,缺点是:字符->数字的转换速度慢,因为每次都需要计算出字符需要多长的Bytes才能够准确表示 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。 用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。

关于字符编码的问题,很有点绕,这里有一个大佬写的一篇文章,通俗易懂,特此献上

 

 python2默认编码方式是ASCII不是UTF-8,需要在开头的地方写上#! -*- coding:  utf-8 -*-或者#! encoding:utf-8

 python3默认编码格式就是utf-8

转载于:https://www.cnblogs.com/Xanderzyl/p/10235236.html

你可能感兴趣的文章
《30天自制操作系统》学习笔记--第14天
查看>>
LGPL协议的理解
查看>>
1、Python基础
查看>>
Unity The Tag Attribute Matching Rule
查看>>
试着理解下kvm
查看>>
WebService学习总结(二)--使用JDK开发WebService
查看>>
Tizen参考手机RD-210和RD-PQ
查看>>
竞价广告系统-位置拍卖理论
查看>>
策略模式 C#
查看>>
[模板]树状数组
查看>>
第四周作业
查看>>
线段重叠 (思维好题)
查看>>
软考知识点梳理--项目评估
查看>>
把特斯拉送上火星的程序员,马斯克!
查看>>
三测单
查看>>
MyBatis 缓存
查看>>
SQL中left outer join与inner join 混用时,SQL Server自动优化执行计划
查看>>
mac下python实现vmstat
查看>>
jxl.dll操作总结
查看>>
成员函数对象类的const和非const成员函数的重载
查看>>