首页 > 编程语言 > 详细

python学习笔记09-python编码与解码

时间:2019-03-21 20:58:04      阅读:160      评论:0      收藏:0      [点我收藏+]

二进制编码:

---》ASCII:只能存英文和拉丁字符 一个字符占一个字节:8位

------》gb2312:只能存6700多个中文: 1980年发表

-----------》gbk1.0:存了20000多  1995 年发表

----------------------》gb18030:2000  27000多

万国码:

-------》unicode:utf-32 一个字符占4个字节

-------》unicode:utf-16  一个字符占2个字节,能存65535个 绝大情况下可以存储

-------》unicode:uft-8  可变长的  英文用ascii,占一个字节  一个中文占3个字节

由于各国编码语言不一样,为了使用方便,采用unicode作为中间码

在python2中: 默认编码为ASCII码  要写中文  就必须先声明一下。

在文件开头加上 # -*- coding:utf-8 -*-

编码与解码的方式要一致 才不会出现乱码的现象。 

假如你的控制台是以GBK方式解码的,那么你的python源代码就需要以GBK的方式来编码 才不会出现乱码的现象。

 

在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 

decode的作用是将其他编码的字符串解码成unicode编码,如str1.decode(‘gb2312‘),表示将gb2312编码的字符串str1解码成unicode编码。 

encode的作用是将unicode编码编码成其他编码的字符串,如str2.encode(‘gb2312‘),表示将unicode编码的字符串str2编码成gb2312编码。

技术分享图片

 在python3中:默认是utf-8

 

python学习笔记09-python编码与解码

原文:https://www.cnblogs.com/zhwforever/p/10574109.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!