Python学习-str与byte类型以及编码】的更多相关文章

Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然). 编码发展的历史 在谈bytes和str之前,需要先说说关于编码是如何发展的.. 在计算机历史的早期,美国为代表的英语系国家主导了整个计算机行业,26个英文字母组成了多样的英…
参考:字符串和编码 Note A.字符编码 1.计算机处理文本 == 将文本转换为二进制 => 处理 2.8 bit(比特) = 1 byte(字节) 一个字节所能表示的最大的十进制整数是255,也就是二进制的11111111:两个字节 => 65535:四个字节 => 4294967295. 3.编码标准 美国的编码表 => ASCII编码表:中国的编码表(用两个字节表示汉字) => GB2312. 问题:各国有各国的编码,有如此多的编码,就会出现冲突,在多语言混合的文本中…
文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式,默认为utf-8) #例如 f = open('passengers.txt','r',encoding='utf-8') 上例用open以只读的模式打开文件,因为该文本是utf-8编码的,所以第三个参数是utf-8 w 模式是写入,是创建一个新文件的写,所以如果已经有了该文件就会被覆盖掉,注意安全…
声明: 博文参考1:字符编码发展历程(ASCII,Unicode,UTF-8) 博文参考2:Python常见字符编码间的转换 (1)为什么要用字符编码 早期的计算机使用的是通电与否的特性的真空管,如果通电就是1,没有通电就是0,后来沿用至今我们称这种只有0/1的环境为 二进制制,英文称为binary.但是二进制数据(0/1)怎么能表示我们所熟知的英文,数字,字符,汉字呢?所以就有了各种编码,因 为开始计算机只在美国用.八位的字节一共可以组合出256(2的8次方)种不同的状态.(可以涵盖美国人使用…
在涉及到网络传输的时候,数据需要从str转换成btye才能进行传输. python byte 转 str , str 转 byte 其实很简单:原理图如下:在这里插入图片描述案例: a: str = "你好!"b: bytes = a.encode('gbk')print(b)c: str = b.decode('gbk')print(c) 1    2    3    4    5 输出结果: b'\xc4\xe3\xba\xc3\xa3\xa1'你好! 1    2 可以看到 st…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.字符串:字符串实际上就是字符的数组1.切片是指对操作的对象截取其中一部分的操作.字符串.列表.元组都支持切片操作.(1)python中从左侧开始,下标 0 开始:从右侧,下标从-1开始:(2)切片的语法:[起始:结束:步长],选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)…
原文:https://blog.csdn.net/lemonwyc/article/details/37558269 1. 同时赋值(Simultaneous Assignments) python支持在一个语句中对多个变量进行赋值,格式是var1, var2, ..., varn = exp1, exp2, ..., expn:这样非常方便.如上一节的输入例子中,可以直接用number1,number2, number3 = eval(input("Enter three numbers: &…
python2#print() print'abc'#range() xrange()生成器#raw_input() python3# print('abc')# range()# input() = 赋值== 比较值是否相等is 比较的是内存地址是否一致,返回True or Falseid(内容) 返回内容 li1 =[1,2,3] li2 =li1 #赋值 print(li1 is li2) #True print(id(li1),id(li2))#48358464 48358464 小数据…
本节重点 彻底掌握字符编码之前的转换关系 掌握 python2 vs python3 上编码的区别 掌握 python2 和python3 上bytes,str 的区别 补充知识点:三元运算 ​三元运算又称为三目运算,是对简单的条件语句的简写,如: ​if 条件成立: ​    ​val = 1 ​else: ​    ​val = 2 ​改写成三元运算: ​val = 1 if 条件成立 else 2 ​C#中的写法 int i = 条件成立?1:2 一.字符编码方式 ASCII 占1个字符,…
#python的优缺点优点:Python简单优雅,尽量写容易看明白的代码,尽量写少的代码.缺点:第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢.而C程序是运行前直接编译成CPU能执行的机器码,所以非常快.第二个缺点就是代码不能加密.如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的…
学习笔记中的源码:传送门 1.注释: 单行注释(#):多行注释("""或者''') 2.python标准数据类型:数字(numbers).字符串(string).列表(list).元组(tuple).字典(dict) 其中数字类型有:int.long.float.complex 关于python的复数: a.表示复数的语法是real + image j b.实部和虚部都是浮点数 c.虚部的后缀可以是 “j” 或者 “J” d.复数的 conjugate 方法可以返回该复数的共…
Python全景 1.程序由模块构成. 2.模块包含语句. 3.语句包含表达式. 4.表达式建立并处理对象. 在python中数据是以对象的形式出现的!!! 为什么使用内置类型 内置对象使程序更容易编写 内置对象往往比定制的数据结构更有效率 内置对象是语言的标准的一部分 在解决问题的时候python不需要像C和C++先去声明数据的类型,python会自己识别类型. python的核心数据类型 python中没有类型声明,根据表达式的语法决定创建和使用对象的类型. (在python的语言内部已经高…
列表 列表是可变序列,通常用于存放同类项目的集合(其中精确的相似程度将根据应用而变化). class list([iterable]) 可以用多种方式构建列表: 使用一对方括号来表示空列表: [ ] 使用方括号,其中的项以逗号分隔: [a], [a, b, c] 使用列表推导式: [x for x in iterable] 使用类型的构造器: list() 或 list(iterable) 构造器将构造一个列表,其中的项与 iterable 中的项具有相同的的值与顺序. iterable 可以是…
# 按字母表熟悉下string中的方法# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z# 标红的为常用重点的方法!! str = "tanGwei nI hao 你好 "###### A ################### 无###### B ################### 无###### C ##################print(str.count("a")) # 查找字符个数prin…
标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) 数字 #整型 在Python 3里,只有一种整数类型 int,表示为长整型: 内置的 type() 函数可以用来查询变量所指的对象类型. 作用:年纪,等级,身份证号,qq号等整型数字相关 >>> num=1 >>> print(num,type(num)) 1 <class 'i…
计算机所能识别只有0,1这两种状态,但是我们人类用字母,汉字,还有其他语言,那么怎么和计算机进行沟通呢,python编程语言最早unicode,现在统一用utf8,UTF8通用的编码语言,所有语言都包含了 1,国际通用的编码 unicode ,utf8 2,国内编码 gb2312 GBK 3,台湾编码 Big5 文章转载(玖乐网络 http://www.96net.com.cn/)…
1.数据类型 1.数字(int,float) 整形(int):定义 age=20  #本质age=int(20) 浮点类型:salary=3000.3 #本质salary=float(3000.3) 还有不常用的长整型.复数. 2.字符串 定义:在单引号\双引号\三引号内,由一串字符组成 name = “hardykay” 1.按索引取值(正向取+反向取) :只能取 2.切片 格式:name[开头:结尾:步长],注意是包头不包尾. 3.求长度 len 4.in和not in 5.移除空白stri…
关于字符编码的学习内容笔记如下: 1.计算机只能用0和1来进行记录和存储.计算机是二进制. 2.ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号.一个英文或者英文符号占一个字节. 3.1980年中国为了解决计算机输入的问题,制…
数据类型: float — 浮点数可以精确到小数点后面15位 int — 整型可以无限大 bool — 非零为true,零为false list — 列表 Float/Int: 运算符: / — 浮点运算除 // — 当结果为正数时,取整; 11//5 =2; 11//4 = 2 当结果为负数时,向下取整:-11//5=-3; -11//4=-3 当分子分母都是float,结果为float型 ** —  计算幂; 11**2 =121 % — 取余 其他数学运算: 1.分数: import fr…
数据类型和变量 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等. 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的.浮点数可以用数学写法,如1.23,3.14,…
###############################红色标红的部分为常用方法############################### import copy names = ["tangwei", "chenyadan", "chenmeifang"] ##################################################### 增加 #################################…
一.源文件编码(encoding: utf-8) 1. python 2.x 默认按ascii编码读取源文件,源码中出现了ascii不能表示的字符 "的",所以报错(3.x版本不报错). 2. 源码中加上 encoding: utf-8,此时允许源文件中出现非ascii字符,但是在windows的DOS中输出时还会再转码(此处转为GBK). 3. 源文件的编码和dos的输出编码都是GBK,这时内容一致. 同上. 二.字符串编码 1.字符串存储的默认编码: python 2.7 pyth…
he struct module includes functions for converting between strings of bytes and native Python data types such as numbers and strings. Functions vs. Struct Class There are a set of module-level functions for working with structured values, and there i…
Python学习笔记 1.变量类型 x=5 int x="ss" string x='a' string x=True bool #查看变量类型 type(x) 2.字符串常用操作 a.首字母大写 x="add user" print(x.title() # Add User b.全部大写/小写 p…
1.1. Python2 Py2中只有2中数据类型,Str和Unicode,而且str中保存的是bytes,Unicode中保存的是unicode 一切我们能看到的明文都是unicode数据类型, bytes是计算机识别 的内容 Py2特点: Py2是ASCII编码,只能将ASCII里面的字符做转换,其他的会报错 严格意义上说,str其实是字节串, unicode是一个字符串,str是unicode这个字符串经过编码(utf8,gbk等)后的字节组成的序列. unicode才是真正意义上的字符串…
python学习—字符编码 例如汉字“中” 十进制:20013 二进制:01001110 00101101(unicode)/11100100 10111000 10101101(utf-8) 十六进制:u4e2d 八进制: ascii ASCII编码是1个字节 只能编码纯英文 节省空间 unicode Unicode编码通常是2个字节.(比如字母A用ASCII编码是十进制的65,二进制的01000001:A的Unicode编码是00000000 01000001.) uicode统一编码,解决…
一.基础概念 字符与字节 字符是相对于人类而言的可识别的符号标识,是一种人类语言,如中文.英文.拉丁文甚至甲骨文.梵语等等.    字节是计算机内部识别可用的符号标识(0和1组成的二进制串,机器语言),属于机器语言.    人与计算机交互就需要在人类语言和机器语言之间来回转换,因此当把各种各样的字符存储或输入到计算机时,最终都必须以字节形式来表示:反之当计算机输出相应信息给人类用户时,最终也需要以人类可识别的字符形式来传递.    综上所述,字符与人类更为接近,而字节则与计算机(机器)更为接近.…
1.字符串的表示 字符串是字符的序列表示,可以由一对单引号(‘).双引号(“)或三引号(’‘’)构成.其中,单引号.双引号和三引号都可以表示单行字符串,但是只有三引号可以表示多行字符串 在使用双引号时,单引号可以作为字符串的以部分. 2.对字符串类型进行操作 Python提供了5个字符串的基本操作符,对字符串进行基本的操作,如下表所示:(其中 x 和 y  均为字符串类型) 基本字符串类型操作符 操作符 描           述 x + y 连接两个字符 x * n 或 n * x(n为整数)…
python_2.x_unicode_to_str.py a = u"中文字符"; a.encode("GBK"); #打印: '\xd6\xd0\xce\xc4\xd7\xd6\xb7\xfb' print(a.encode("GBK")); 打印: �����ַ� a.encode("utf-8") 打印: '\xe4\xb8\xad\xe6\x96\x87\xe5\xad\x97\xe7\xac\xa6' 每三个byte…
字符编码 这得从字符编码开始说起: 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题.因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理. 最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节. ASCII编码 由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母.数字和一些符号,这…