美文网首页
第二节-初识python和字符编码

第二节-初识python和字符编码

作者: 子非初心 | 来源:发表于2018-07-10 11:29 被阅读20次

内容编码

字符编码的发展

ascii (只能识别英文)

8位 = 01010101 2**8(2的8次方)= 256 种组合就可以表示所有的英文,字符,数字

也就是1个字节就能表示所有的英文,字符,数字

但是不能表示其他国家语言如中文

  万国码 unicode (包含任何国家语言)

最少用2个字节来表示:

1个字节 = 8位 = 01010101

2个字节 = 16位 = 0101010101010101 2个字节就是 2**16(2的16次方)= 65536 种组合

也就是说万国码最少也要用两个字节来表示

中文是用3个字节来表示的

3个字节 = 24位 = 010101010101010101010101 3个字节就是 2**24(2的24次方)= 16777216 种组合

utf-8

有了万国码后人们又发现,造成了运算空间的浪费,明明可以用1个字节表示的也用了2个字节来表示,后来就又发明了utf-8

utf-8 是在万国码的基础上进行了加工

也就是utf-8会自动根据地区语言来判断用多少位识别

英文:8位

欧洲:16位

中文:24位

...

所以我们在写Python文件是要是有中文汉字,就需要告诉解释器用什么编码

如:

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 print '你好 中国'

如果是Python3.5版本解释器,就可以不加编码,因为默认就是utf-8编码

也就是说,解释器默认是utf-8就可以不加,如果默认不是utf-8就必须加才能识别中文

编码和解码

编码和解码流程图

image

utf-8或者gbk等编码都是,由万国码编码而来的这个过程叫做(编码),将utf-8在还原成万国码这个过程叫做(解码)

在python中可以将某一段字符进行编码或者解码

decode() 函数 为解码 函数值:为要解码的编码(原本编码)

使用方法:要解码的字符串变量.decode(要解码的编码)

如:jiem = zifu.decode("utf-8")

encode() 函数 为编码 函数值:为要编的码(编码)

使用方法:要编码的解码变量.decode(要编的码)

举例:

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 zifu = "中文字符"
4 #解码,需要指定原来的是什么编码
5 jiem = zifu.decode("utf-8")
6 #编码,需要指定要使用什么编码
7 bianm = jiem.encode("gbk")
8 print(bianm)
image

注意:如果是python3.5或者以上版本,可以省略解码的环境,直接第二步重新编码就可以,也就是可以直接将utf-8直接编码成gbk,(解码的过程解释器会自动完成)

相关文章

  • 第二节-初识python和字符编码

    内容编码 字符编码的发展 ascii (只能识别英文) 8位 = 01010101 2**8(2的8次方)= ...

  • Python中的字符串编码

    Python中的字符串编码 定义字符串 Python 中存在两种编码方式的字符串:ASCII 和 Unicode。...

  • python 高级方法

    Python的字符串类型 字符编码方法 查看Python中的字符串编码名称,查看系统的编码 源文件字符集编码声明:...

  • python编码

    python编码 python编码简介 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • 字符串

    1.字符的编码 Python中的字符采用的是Unicode编码 1.什么是编码 :数字和字符是一一对应的,其中字符...

  • json与python

    Python 对象编码成 JSON 字符串 json.dumps 用于将 Python 对象编码成 JSON 字符...

  • python入门 第一天 初识

    python版本2.x和python3.x 文件申明和字符编码# !usr/bin/env python# ! -...

  • python学习随便

    Python学习__字符串编码 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()...

  • python 介绍 基本语法和流程控制

    python2 采用ascii字符集编码,python3 采用utf-8字符集编码 python 变量名:name

  • 学习任务

    1.python有关字符编码

网友评论

      本文标题:第二节-初识python和字符编码

      本文链接:https://www.haomeiwen.com/subject/krjfpftx.html