DAY07、字符编码和文件操作
一、字符编码
1、什么是字符编码?
人类能识别的是字符等高级标识符,电脑只能识别0,1组成的标识符,要完成人与机器之间的信息交流,
一定需要一个媒介,进行两种标识符的转化(两种标识符的对应关系)
2、编码表:对应关系形成的结构
常用的编码表有ascii、unicode、GBK、Shift_JIS、Euc-kr
3、Unicode与utf-8的关系:
Unicode:用两个字节来存储汉字,用两个字节来存储英文,占有空间较多,读取速率极高
utf-8:用3-6个字节来存储汉字,用一个字节来存储英文字母,占有空间较少,读取速率低
总结:内存都是按Unicode存储数据,硬盘和cpu采用utf-8存取数据
Unicode与utf-8采用的是一张Unicode编码表,utf-8是Unicode编码表体现方式,变长存储数据
变长优点:大量数据都是以英文存在,所以utf-8空间更小,传输速度更快
二、3种字符串
1、Unicode字符串,默认字符串
s1 = u'abc你好\n不好'(\n换行)
2、字节字符串
s2 = b'abc123\xb7\xb7
3、原义字符串:不对字符串内存做任何操作(eg:\n的转换)
s3 = r'abc你好\n不好
三、编码与解码
1、编码
s = '123呵呵'
n_b = bytes(s,encoding='utf-8')
print(n_b)
2、解码
b = b'123\xe5\xe91\xb5\xe5\x91\xb5'
n_b = str(b,encoding = 'GBK')
重点:
将u字符串编码成b字符串:print(u'你好'.encode('utf-8'))
将b字符串解码成u字符串:print(b'\xe4\xbd\xa0\xe5\xbd'.decode('utf-8'))
四、文件操作
1、使用文件的三步骤
打开文件:变量名 = 文件空间
文件路径 操作模式(读|写) 编码
f = open('a.txt','r',encoding= 'utf-8')
操作文件:data = f.read(3) #将所有内容读取出来,如果read括号设置长度,按照规定长度读取数据
line = f.readline()
line = f.readline() #一次读取一行
lines =f.readlines() #按行一次性全部读出
l = []
for line in f:
l.append(line) #逐步一行一行取
关闭文件:
f.close() #释放操作系统对文件的持有,变量f还被应用程序持有
2、模式:
主模式:r | w | a
从模式:b | t | +
了解:x | U
1、w基础写:
文件不存在:会新建文件,再操作文件
文件存在:先清空文件,再操作文件
w = open('b.txt','w',encoding = 'utf-8')
DAY07、字符编码和文件操作的更多相关文章
- Python-字典、集合、字符编码、文件操作整理-Day3
1.字典 1.1.为什么有字典: 有个需求,存所有人的信息 这时候列表就不能轻易的表示完全names = ['stone','liang'] 1.2.元组: 定义符号()t = (1,2,3)tupl ...
- Python之字符编码与文件操作
目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...
- python学习道路(day3note)(元组,字典 ,集合,字符编码,文件操作)
1.元组()元组跟列表一样,但是不能增删改,能查.元组又叫只读列表2个方法 一个 count 一个 index2.字典{}字典是通过key来寻找value因为这里功能比较多,所以写入了一个Code里面 ...
- Python 字符编码及其文件操作
本章节内容导航: 1.字符编码:人识别的语言与机器机器识别的语言转化的媒介. 2.字符与字节:字符占多少个字节,字符串转化 3.文件操作:操作硬盘中的一块区域:读写操作 注:浅拷贝与深拷贝 用法: d ...
- Python全栈开发之路 【第三篇】:Python基础之字符编码和文件操作
本节内容 一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 改成三元运算: val = 1 if 条件成 ...
- DAY7 字符编码和文件操作
一.软件与python解释器打开文件的方法 1.软件打开文件读取数据的流程: 1. 打开软件 2. 往计算机发生一个打开文件的指令,来打开文件 3. 读取数据渲染给用户(存取编码不一致:乱码) 2.p ...
- Day 07 字符编码,文件操作
今日内容 1.字符编码:人识别的语言与机器识别的语言转换的媒介 2.字符与字节:字符占多少字节,字符串转换 3.文件操作:操作硬盘的一块区域 字符编码 重点:什么是字符编码 人类能识别的字符等高级标识 ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- Python基础之字符编码,文件操作流与函数
一.字符编码 1.字符编码的发展史 阶段一:现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII ASCII:一个Bytes代表一个字符(英文字符/键盘上的所有其他字符),1Bytes=8bit ...
随机推荐
- day03-课堂笔记
# 数据类型"""# int# py2存放长整型:long# py3环境,所以整型均由int存储num1 = -10num2 = 10000000000000000000 ...
- linux注释多行
方法一:使用可视化模块添加实现多行注释 1.打开文件/etc/password进行测试: vim /etc/password 2.进入到视图模式:按ctrl+v 1 root:x:0:0:root:/ ...
- Flink知识点
1. Flink.Storm.Sparkstreaming对比 Storm只支持流处理任务,数据是一条一条的源源不断地处理,而MapReduce.spark只支持批处理任务,spark-streami ...
- Wireshark抓包分析TCP 3次握手、4次挥手过程
Wireshark简介 更多有关Wireshark的教程.软件下载等,请见:http://www.52im.net/thread-259-1-1.html,本文只作简要介绍. 1Wireshark 是 ...
- Jmeter自定义Java请求,继承AbstractJavaSamplerClient
首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR ...
- Apache Spark 内存管理详解(转载)
Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色.理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优.本文旨在梳理出 ...
- Spring Boot WebSocket从入门到放弃
在构建Spring boot项目时已经提供webSocket依赖的勾选.webSocket是TCP之上的一个非常薄的轻量级层 ,webSocket主要的应用场景离不开即时通讯与消息推送,但只要应用程序 ...
- python 获取lazada菲律宾站地址库
import urllib3 import requests import ast import time # 因为lazada返回的数据是json类型,通过解码成字符串类型,为了方便数据操作,使用字 ...
- Python_内置函数2_44
字符串类型代码执行: exec('print(123)') eval('print(123)') print(eval('1*2+3+4')) # 有返回值 print(exec('1+2+3+4') ...
- BeautifulSoup库
'''灵活又方便的网页解析库,处理高效,支持多种解析器.利用它不用编写正则表达式即可方便的实现网页信息的提取.''' BeautifulSoup库包含的一些解析库: 解析库 使用方法 优势 劣势 py ...