聊聊python 2中的编码】的更多相关文章

为什么需要编码: 计算机可以存储和处理二进制,那么从文字到计算机可以识别的二进制之间需要对应的关系,于是便有了ASCII,ASSCII使用7位字符,由于1byte=8bit,所以最高位补一个0,使用8位以方便计算和处理; 而对于拉丁语系的技术宅们来说,对高位空着的,使用最高位正好可以用于拉丁语字符,使用一个字节表示一个字,这套编码为latin-1: 但是万万没有想到的是,对于东亚的国家,汉语字符常用的就有几千个,于是国家标准局制定了一份中文编码GB2312,通过两个字节表示一个汉字,就是可以表示…
上文提到了python开发中非常重要的两处设置. 一个是编解码器的默认设置defaultencoding >>> import sys >>> sys.getdefaultencoding()'ascii' 另一个是声明在python文件头部的代码编码方式coding # -*- coding: utf-8 -*- 这两处设置在python的str,unicode对象的encode和decode方法中,有非常重要的作用,直接影响到结果.下面的代码按照目前的设置进行,即d…
在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的机制,并由此寻求解决问题的根本路径,那么永远不能从码农的阴影中摆脱出来.下面就来一起了解一下计算机编码问题的来龙去脉. ASCII 众所周知,计算机中的所有数据,不论是文字.图片.视频.还是音频文件,本质上最终都是按照类似 01010101 的二进制形式存储的.然而,计算机中的字符,并不能完全以这种…
在 Python 尤其是 Python2 中,编码问题是困扰开发者尤其初学者的一大问题.什么 Unicode/UTF-8/str ,又是 decode/encode 的,搞得人头都大了.其实不然,这有点类似 Java 中 java.io 包一样,看似庞大难懂,但是可以非常精细地定制需求. 编码 计算机只可以存储和处理二进制数据,所以从文字到计算机可以识别的二进制之间需要一道对应关系.于是便有了ASCII(American Standard Code for Information Interch…
在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类: 通用的 Unicode 字符: (unicode 被编码后的)某种编码类型的字符,比如 UTF-8,GBK 等类型的字符. Python2 中字符的类型: str: 已经编码后的字节序列 unicode: 编码前的文本字符 Python3 中字符的类型: str: 编码过的 unicode 文本字符 bytes: 编码前的字节序列 我们可以认为字符串有两种状态,即文本状态和字节(二进制)状态.P…
#python2 和 python3 的一些区别 ''' #python2 print('aaa') print'aaa' range() xrange()生成器 raw_input() #python3 print('aaa') range() #input() ''' # = 赋值 == 比较值是否相等 is 比较的是内存地址 id(内容)-->可以看到内存地址 li1 = [1,2,3] li2=li1 li3 =li2 print(li1 is li2) print(li1 == li2…
  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中的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单 #!/usr/bin/python 相当于写死了 python 路径(是告诉OS执行这个py时,调用 /usr/bin 下的 python 解释器:) #!/usr/bin/env python 会去环境设置寻找python目录,推荐这种写法(目的是为了OS防止user没有将python 装在默认的 /usr/bin 路径里.在Linux类的OS环境下有意义) 如果要在python2的py文件里…
How do convert unicode escape sequences to unicode characters in a python string 爬去网页中遇到编码的问题 Python 2.7 >>> print '\\u5982\\u679c\\u6211\\u662f\\u4e00\\u4e2a\\u4ece\\u524d\\u7684\\u54f2\\u4eba\\uff0c\\u6765\\u5230\\u4eca\\u5929\\u7684\\u4e16\\u7…
  编码与解码 首先,明确一点,计算机中存储的信息都是二进制的   编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显示00110101,还是要显示'a',但计算机怎么知道00110101是'a'呢,这就需要解码,当选择用ascii解码时,当计算机读到00110101时就到对应的ascii表里一查发现是'a',就显示为'a'   编码:真实字符与二进制串的对应关系,真实字符→二进制串 解码:二进制串与真实字符的对应…