python学习笔记8-9(字符编码与二进制)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记8-9(字符编码与二进制)相关的知识,希望对你有一定的参考价值。
字符编码
python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII)
二进制
举例:古时候烽火台,点火和不点火只有两种状态,传递信息太少。
约定点火数1,代表1-100
点火数2,代表101-1000
点火数3,代表1001-5000
点火数4,代表5001-1000
虽然有进步,但还不够精确
如果引入二进制,可以精确表示任意数
字符编码
二进制和字母的转换
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)
GB2312(1980年)7445多个汉字字符,包括6763个汉字和682个其它符号。
GBK1.0(1995年)收录了21886个符号,它分为汉字区和图形符号区:汉字区21003个字符。
GB18030(2000年)取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数名族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。所有字符占2个字节。
UTF-8,存英文字符占1个字节,存中文占3个字节
总结如下:
ASCII 255 1bytes
-->1980 gb2312 7445个汉字字符
-->1995 GBK1.0 21885个
-->2000 GB18030 27484个
--> unicode 2bytes
--> utf-8 en:1byte , zh:3bytes
python3比python2最大区别,默认支持字符编码集
python2中文支持,第一行输入:# -*- coding:utf-8 -*-
python3默认支持utf-8
举例:
name = (name)
运行会报错,ascii码无法表示中文,需修改为:
# -*- coding:utf-8 -*- name = (name)
本文出自 “踩出脚印” 博客,请务必保留此出处http://zoucuo.blog.51cto.com/962798/1885277
以上是关于python学习笔记8-9(字符编码与二进制)的主要内容,如果未能解决你的问题,请参考以下文章