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)
时间: 2024-08-25 14:00:48

python学习笔记8-9(字符编码与二进制)的相关文章

Python学习笔记一:第一个Python程序,变量,字符编码与二进制,用户交互程序

第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print("Hello World!") >>>exit() 编辑文件helloworld.py 执行:python helloworld.py Linux:./helloworld.py   声明解释器:#!/usr/bin/env python  在环境变量中找python Chmod 755 hel

python学习第四天 --字符编码 与格式化

字符编码 与格式化 第三天已经知道了字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,

Python学习,第二课 - 字符编码

关于字符编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号. 关于中文 为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体

Python学习(一) 字符编码

字符编码 字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式.自然数序列.8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递.常见的例子包括将拉丁字母表编码成摩斯电码和ASCII.其中,ASCII将字母.数字和其它符号编号,并用7比特的二进制来表示这个整数.通常会额外使用一个扩充的比特,以便于以1个字节的方式存储. 在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐渐成

python学习第十八天计算机字符编码

人类语言和计算机语言二进制怎么沟通,最开始字符编码为ascii码对照表 包括数据和字母,没有汉字,中国自己搞了一套自己的编码 gb2312编码后来发展GBK编码,日本,韩国都,甚至台湾也搞自己的编码,最后国际统一一个编码为unicode 编码 但是unicode编码统一占两个字符,英文占一个字符,中文占两个字符,泰文占3个字符,后来发展 演变 统一 UTF格式 utf-8,这种可长可短的,比较适合所有国家的编码方式. 1,二进制 0,1 二进制 0,1,2,3,4,5,6,7 八进制 0.1.2

python学习笔记十七:base64编码

Python中进行Base64编码和解码要用base64模块,代码示例: #-*- coding: utf-8 -*- import base64 str = 'cnblogs' str64 = base64.b64encode(str) print str64 #Y25ibG9ncw== print base64.b64decode(str64) #cnblogs

python 学习笔记-----编码问题

1.python 最早支持的是ASCII编码. 所以对于普通的字符串"ABC"为ASCII编码的形式.字母和数字之间的转换函数为ord('字母')和chr(‘数字’)函数. ord(‘A’)  输出 65     chr(65)输出 ‘A’ 2.后来添加了Unicode编码: 形式:u‘...’     例如 u‘中文’   用print 输出则为:中文   直接输出为一串编码字符 3.Unicode和utf-8 之间的转换: a.Unicode转换为utf-8的形式:u‘...’.e

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来

python   学习笔记 (核心)

python    学习笔记 (核心) Python解释器从头到尾一行接一行执行脚本 # -*- coding: UTF-8 -*-    //字符编码 不区分单引号和双引号,x='hello',x[0],x[-1]指最后一个字符,x[2:4]取子串, '''hello''' #hello三引号会保留文本输入时的换行符制表符等不需要转义,用于多行原样输入保存 'hello'+'world' #字符串拼接,'hello'*2 #字符串重复 help(fun) #帮助,help(module.met