您的位置:首页 > 编程语言 > Python开发

python学习笔记8-9(字符编码与二进制)

2016-12-22 22:07 295 查看
字符编码

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python。学习笔记