python中的编码

在编程语言中,基本上有三种编码方式

ascii

UTF-8

unicode

还有的就是各国本地的编码方式,比如中国的GBK等

其中ascii编码是早期的编码方式,其中每个字符或英文字母占一个字节(8bit)留下部分的空间作为扩展使用,

随着计算机技术的发展,越来越多的国家需要使用本国的语言作为计算机编码,而ascii编码方式使用的局限性越来越严重,在后期的时候发展成各个国家使用各自的编码,如中国采用GBK等编码方式。

当过编码越来越多的时候,可管理性及重复编码越来越多,国际标准化组织就各编码开发了一种unicode(中文译为万国编码)编码方式,以2个字节作为一个编码,但此种编码方式过于庞大,需要占用大量的空间资源,且以英语为母语的国家来说原先只要采用一个字节就能满足的编码现在需要两个字节是一种其及浪费资源的行为。

因此在此基础上又发展出了另外一种编码即:UTF-8,它可以简单理解为是unicode的简化版,结合了ascii的内容又结合了unicode的内容,即在ascii编码中还是采用1个字节作为编码,其他扩展内容采用3字节作为编码

各编码之间的转换:

各编码之间若需要转换,如gbk转utf-8,或utf-8转gbk,都需要先转成unicode编码

在python2.0里面需要先声名编码方式 ,在3.0中默认的编码格式是unicode,以下内容是声明编码格式

# _*_ coding:utf-8 _*_

编码之间的转换:

a = ‘大盗林工‘.encode(‘utf-8‘)   #默认编码是unicode可直接转utf-8

时间: 2024-08-21 22:01:33

python中的编码的相关文章

python中的编码与解码

编码与解码 首先,明确一点,计算机中存储的信息都是二进制的 编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显示00110101,还是要显示'a',但计算机怎么知道00110101是'a'呢,这就需要解码,当选择用ascii解码时,当计算机读到00110101时就到对应的ascii表里一查发现是'a',就显示为'a' 编码:真实字符与二进制串的对应关系,真实字符→二进制串 解码:二进制串与真实字符的对应关系,二进制

浅谈Python中的编码规则

注:本人用Python3.4作为学习版本,以下学习心得只适用于Python3.4. 之前拜读了金角大王Alex关于编码的解答,收获颇多.特此致谢,以下仅谈一谈作为一个初学者,对编码的理解. 我所了解的编码,大致分为两类:第一类是支持中文的编码集:第二类是支持英文的编码集.至于别国的编码集,暂且不做讨论. 常见编码:ASCII:Unicode:UTF-8:big5,:GB2312:GBK:GB18030 接下来,我对以上编码进行分类: 只支持英文和特殊字符的编码:ASCII ASCII是基于拉丁字

python中的编码问题:以ascii和unicode为主线

  1.unicode.gbk.gb2312.utf-8的关系 http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8是unicode的一种实现方式,unicode.gbk.gb2312是编码字符集: 2.python中的中文编码问题 2.1 .py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正. 一个mo

python中的编码声明

python中的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单 #!/usr/bin/python 相当于写死了 python 路径(是告诉OS执行这个py时,调用 /usr/bin 下的 python 解释器:) #!/usr/bin/env python 会去环境设置寻找python目录,推荐这种写法(目的是为了OS防止user没有将python 装在默认的 /usr/bin 路径里.在Linux类的OS环境下有意义) 如果要在python2的py文件里

【python中的编码问题】

1.首先要在开头说明编码方式为:utf-8 例如:-*- coding: utf-8 -*- 2.如果遇到字符串,立刻转化为unicode,不要使用str(),直接使用unicode() unicode_str = unicode('中文', encoding='utf-8')print unicode_str.encode('utf-8') 3.如果是对于文件操作,打开文件的时候,最好使用codecs.open,替代open import codecscodecs.open('filename

python中字符串编码问题

个人遇到问题: 某个文件1,里面有字符创"360云盘" 用cat看 用less命令查看时如下: 是用vim查看时如下: 显然在vim是能够正确识别的,也就是说这3个命令查看文件时,编码方式是不一样的. 下面用file命令来查看本文件的编码方式如下:file 文件名 编码方式是:ISO-8859 这个是什么编码方式呢?它是中文编码方式,由于file命令不是取全文,而是截取文章前面部分进行一个判断的.ISO-8859-1 到ISO-8859-16,其实,也就认为是GB2312的汉字编码方式

python中base64编码与解码

引言: 在一些项目中,接口的报文是通过base64加密传输的,所以在进行接口自动化时,需要对所传的参数进行base64编码,对拿到的响应报文进行解码: Base64编码是一种"防君子不防小人"的编码方式.广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有"=",生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合python2中进行Base64编码和解码&g

python中关于编码,json格式的中文输出显示

但我们用requests请求一个返回json的接口时候, 语法是 result=requests.post(url,data).content print type(result),result 得到的结果是 <type 'str'> {"no":12,"err_code":220012,"error":null,"data":{"autoMsg":"","fid&

python中字符串编码转换

字符串编码转换程序员最苦逼的地方,什么乱码之类的几乎都是由汉字引起的. 其实编码问题很好搞定,只要记住一点: 任何平台的任何编码,都能和Unicode互相转换. UTF-8与GBK互相转换,那就先把UTF-8转换成Unicode,再从Unicode转换成GBK,反之同理. 注意:在python3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string # 这是一个 UTF-8 编码的字符串 utf8Str = "你好地球&quo