Python之编码
一、Python2与Python3的区别
1、从宏观上考虑,Python2重复代码太多,错误率高,不够规范。Python崇尚的是语言简洁、优美、清晰。Python3更加规范,重复代码少;
2、Python2默认的编码是ASCII码,无法正确识别中文,而Python3默认的代码是utf-8,能够正确识别中文;
3、Python2中print打印时后面可以不用加(),但是Python3中print打印时必须加上(),否则会报错;
4、Python2中有range和xrange(生成器),但是Python3中只有range ;
5、Python3中的input,在Python2中是raw_input。
二、“=”、“==”与“is”的区别
1、“=” :赋值 把后面的值赋给前面
2、“==” :比较前后的值是否相等
3、“is” :比较的是前后的变量内存地址
4、id : 显示的是内存地址
li1 = [,,]
li2 = li1
li3 = li2
print(id(li1),id(li2))
三、数字和字符串
小数据池:在一定范围内当多个变量被赋值的是一个相同的数值时,其占用的内存地址是一样的。
int里面有小数据概念,范围是-5------- 256
i1 =
i2 =
print(id(i1),id(i2))
i1 =
i2 =
print(id(i1),id(i2))
字符串也有小数据池概念,不过没有什么具体准确的标准,暂时只发现两个规律
1、不能含有特殊字符;
2、s*20 还是同一个地址,s*21以后都是两个地址
剩下的list、dict、tuple、set都没有小数据池概念。
四、编码
ASCII码:一个字符用8位来表示,共1个字节;
unicode码:有16位和32位的两种,现在大部分用的是32位来表示一个字符,共4个字节;
utf-8码:最少用8位来表示一个字符,英文时是8位来表示的,共1个字节,中文是用24位来表示的,共3个字节,欧洲其他国家文字是用16未来表示的,共2个字节。
gbk码:表示英文时是用8位来表示的,共1个字节,中文是用16位来表示的,共2个字节。
注意:
1、各个编码之间的二进制是不能互相识别的,会产生乱码;
2、文件的储存、传输不能是unicode(只能是utf-8、utf-16、gbk、gb2312,ascii等)

s11 = s1.encode('utf-8')
s11 = s1.encode('gbk')
print(s11)
s2 = '中国'
s22 = s2.encode('utf-8')
s22 = s2.encode('gbk')
print(s22)
bytes类型
对于英文:
str :表现形式:s = 'alex' 编码方式: 010101010 unicode
bytes :表现形式:s = b'alex' 编码方式: 000101010 utf-8 gbk。。。。
对于中文:
str :表现形式:s = '中国' 编码方式: 010101010 unicode
bytes :表现形式:s = b'x\e91\e91\e01\e21\e31\e32' 编码方式: 000101010 utf-8 gbk。。。。
Python之编码的更多相关文章
- python Unicode 编码解码
1 #将Unicode转换成普通的Python字符串:"编码(encode)" 2 unicodestring = u"Hello world" 3 utf8s ...
- python的编码问题
本文简单介绍了各种常用的字符编码的特点,并介绍了在python2.x中如何与编码问题作战 :) 请注意本文关于Python的内容仅适用于2.x,3.x中str和unicode有翻天覆地的变化,请查阅其 ...
- python 字符编码练习
通过下面的练习,加深对python字符编码的认识 # \x00 - \xff 256个字符 >>> a = range(256)>>> b = bytes(a) # ...
- Python 字符编码 zz
http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American Stan ...
- python 之编码问题详解
前在一个项目中遇到用post提交一个xml,xml中含有中文,对于单独的py文件,使用urllib2.urlopen完全ok,但在django中使用就一直报编码错误,然后在网上看到这篇文章不错,决定m ...
- 19.python的编码问题
在正式说明之前,先给大家一个参考资料:戳这里 文章的内容参考了这篇资料,并加以总结,为了避免我总结的不够完善,或者说出现什么错误的地方,有疑问的地方大家可以看看上面那篇文章. 以下说明是针对于pyth ...
- Python字符编码详解
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有 ...
- python的编码
python的编码 1.概述 讲述编码,那么就要涉及到几个方面,包括系统中如何来显示字符,文件中如何来保存字符. 1.1 系统环境 在系统中显示字符,那么就必须要考虑到系统中使用的编码格式. 在lin ...
- 【转】Python字符编码详解
转自:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American S ...
- python与编码
Python中的文字对象 Python 3.x中处理文字的对象有str, bytes, bytearray. bytes和bytearray可以使用除了用作格式化的方法(format, format_ ...
随机推荐
- shell常见脚本30例
shell常见脚本30例 author:headsen chen 2017-10-19 10:12:12 本文原素材出自网上,特此申明.有些地方加入我自己的改动 常见的30例shell脚本 1.用 ...
- 使用nodegrass简单封装http请求例子
1.项目中经常性的使用http发送请求处理数据.而大部分请求方式为get和post,于是对http请求进行封装,提供代码的利用率. 2.nodegress是nodejs的一个请求工具. 具体步骤及代码 ...
- vuex2中使用mapMutations/mapActions报错解决方法 BabelLoaderError: SyntaxError: Unexpected token
在尝鲜vuex2时,发现vuex2增加了 mapGetters 和 mapActions 的方法,借助stage2的 Object Rest Operator 特性,可以写出下面代码:methods: ...
- Algorithm --> 最长公共子序列(LCS)
一.什么是最长公共子序列 什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列. 举例如 ...
- [css 揭秘]:CSS编码技巧
CSS编码技巧 我的github地址:https://github.com/FannieGirl/ifannie 喜欢的给我一个星吧 尽量减少代码重复 尽量减少改动时需要编辑的地方 当某些值相互依赖时 ...
- python全栈开发-Day9 函数对象、函数嵌套、名称空间与作用域
一 .函数对象 一 .函数是第一类对象,即函数可以当作数据传递 可以被引用 可以当作参数传递 返回值可以是函数 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): ...
- SQL注入之Sqli-labs系列第三篇
废话不在多说 let's go! 继续挑战第三关(Error Based- String) 1.访问地址,加入参数后 and 1=1和and 1=2进行测试,木有任何动静 2.再使用 ' 出现报 ...
- apache tomcat 安装
1.安装jdk (java development kit) jdk下载 http://download.oracle.com/otn-pub/java/jdk tar -zxvf jdk-8u121 ...
- curl的使用基本流程,HTTP的get请求,post请求
使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 1.初始化连接句柄: 2.设置CURL选项: 3.执行并获取结果: 4.释放VURL连接句柄. 下面的程序片段是使用CURL发送 ...
- 后台返回null iOS
1.第一种解决方案 就是在每一个 可能传回null 的地方 使用 if([object isEqual:[NSNUll null]]) 去判断 2.第二种解决方案 网上传说老外写了一个Categor ...