一、字符编码

1、定义

人类能识别的是字符等高级标识符,电脑只能识别0,1组成的标识符,要完成人与机器之间的信息交流,一定需要一个媒介,进行两种标识符的转化(两种标识符的对应关系)

对应关系形成的结构称为编码表

  ->
'a' - >
'好' ->

2、了解知识点:编码表的发展史

①ascii(ASCII):字母数字英文符号和计算机01标识符的对应关系

②中国:研究汉字与计算机01标识符的对应关系

日本:Shift_JIS

棒子:Euc-kr

3、制造一个可以由万国符与计算机01标识符的对应关系的编码表

编码表:unicode

①python2按ascii来读,没有按照万国编码,原因是,python2的诞生早于万国编码。

②python3按UTF-8来读,采用万国编码来解释文本内容。

4、unicode与UTF-8之间的关系(重点内容******)

①unicode用2个字节来存储汉字,用2个字节存储字母。所以相比较,unicode占用内存空间较多,但是读取效率极高
UTF-8用3-6个字节存储汉字,用1个字节存储字母。占用空间较少,但是读取效率低 ②unicode与UTF-8采用的是一张unicode编码表,UTF-8是编码表的体现方式,通过变长存储数据。
(变长的优点:大量数据都是以英文存在,所以UTF-8空间更小,传输速度更快)

二,字符与字节

1、三种字符串

①unicode字符串s1=u‘’

s1 = u'abc你好\n不好'
print(s1) # 结果为
abc你好
不好

②字节字符串s2=b‘’

s2 = b'abc123\xb7\xb7'
print(s2) # 结果为 b'abc123\xb7\xb7'

③原义字符串:不对字符串内做任何操作s3=r‘’

s3 = r'abc你好\n不好'
print(s3) # 结果为 abc你好\n不好

2、编码操作:编码与解码(重点*****)

①编码:将u字符串编码成b字符串

print(u'你好'.encode('utf-8'))
# 结果为 b'\xe4\xbd\xa0\xe5\xa5\xbd'

②解码:将b字符串解码成u字符串

print(b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8'))
# 结果为 你好

3、字符与ASCII之间的转化:

res = ord('A')
print(res) # 结果为65
res = chr(65)
print(res) # 结果为A

ASCII:DBCS双字节存储可以存放中文等一些文字与字符,可以完成字符与整数(ASCII表中整数)的转化。

三、文件操作

1、文件:硬盘中一块存储空间

2、文件操作:根据文件名来操作硬盘的那块存储空间,操作方式:read,write

3、文件操作的三要素:文件源、操作模式、编码

4、文件操作的三步骤(重点*****)

①打开文件
变量名=文件空间
f = open('a.txt', 'r', encoding='utf-8') ②操作文件
date=f.read() 是将所有内容读取出来,如果设置读取长度,则按设置长度读取
一次读一行:line=f.readline()
按行一次性全部读出:lines=f.readlines()
逐步一行一行读取(for循环)
f = open('a.txt', 'r', encoding='utf-8')
l=[]
for line in f
l.append(line)
print(l) s=set()
for line in f
s.append(line)
print(s)

③关闭文件
f.close() 释放操作系统对文件的持有,变量f还被应用程序持有
print(f)

day7 七、字符编码,字符字节与文件操作的更多相关文章

  1. encode_utf8 把字符编码成字节 微信例子

    ##µ¼Èë encode_json decode_json use JSON qw/encode_json decode_json/; print "1111111111111111-\$ ...

  2. encode_utf8 把字符编码成字节 decode_utf8解码UTF-8到字符

    encode_utf8 $octets = encode_utf8($string); Equivalent to "$octets = encode("utf8", $ ...

  3. java字节流和字符流,以及java文件操作

    A.首先说字节流:1.字节流在操作的时候不会用到缓冲区(也就是内存)2.字节流可用于任何类型的对象,包括二进制对象3.字节流处理单元为1个字节,操作字节和字节数组.InputStream是所有字节输入 ...

  4. 19-3-8Python中编码的进阶、文件操作初识、深浅copy

    编码的进阶 ASCII:英文字母,数字,特殊符号,——>  二进制的对应关系 Str: 1个字符——> 1个字节 Unicode:万国码:世界上所有的文字与二进制的对应关系 1个字符——& ...

  5. python第七天(字符编码,字符与字节,文件操作)

    一.字符编码: 定义:将人识别的字符转换成计算机能识别的0和1,转换的规则就是字符编码表. 常见编码表:ascii.unicode.GBK 编码表: 1.采用的都是unicode编码表 2.unico ...

  6. Python编程Day7——字符编码、字符与字节、文件操作

    一.字符编码 重点 ***** 1. 什么是字符编码:将人识别的字符转换计算机能识别的01,转换的规则就是字符编码表2. 常用的编码表:ascii.unicode.GBK.Shift_JIS.Euc- ...

  7. day08(字符编码,字符与字节,文件操作)

    一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...

  8. 字符编码及字节串bytes类型

    1 字符编码简介 ASCII码:美国人发明并使用,用1个字节(8位二进制)代表一个字符,ASCII码是其他任意编码表的子集(utf-16除外). Unicode:包含和兼容全世界的语言,与全世界的语言 ...

  9. Java字符流和字节流对文件操作

    记得当初自己刚开始学习Java的时候,对Java的IO流这一块特别不明白,所以写了这篇随笔希望能对刚开始学习Java的人有所帮助,也方便以后自己查询.Java的IO流分为字符流(Reader,Writ ...

随机推荐

  1. c/c++ 读入一行不确定个数的整数

    假设有一个文件,文件的每一行包括n个整数,整数之间以一个空格隔开,文件总共有m行,但是事先不知道n,m.如何每次从文件中读取一行整数放到一个数组中. 可以分为两步:1.首先从文件中读入一行字符串,2. ...

  2. 【Mac使用系列】Mac锁屏及快捷键

    mac锁屏办法,我有所尝试,可用系统自带锁屏快捷键:Ctrl + Command + Q或者参考方法2,直接设置TouchBar. 这两种办法,亲测可用.我直接设置了TouchBar,锁屏解锁离得很近 ...

  3. 关于unity3dGUI(uGUI)的一些自适应的收获,在这里跟大家分享一下

    假设大家要转载这篇文章,请注明出处.本人名字叫赖张殷,博客地址为http://my.csdn.net/?c=674f97f953e5dbfdba9fefaa3d1fcbe1 //2017年5月12日改 ...

  4. Spring MVC 中使用 Google kaptcha 验证码

    验证码是抵抗批量操作和恶意登录最有效的方式之一. 验证码从产生到现在已经衍生出了很多分支.方式.google kaptcha 是一个非常实用的验证码生成类库. 通过灵活的配置生成各种样式的验证码,并将 ...

  5. 全球最全路由DNS服务器IP地址

    全球只有13台路由DNS根服务器,在13台路由服务器中,名字分别为“A”至“M”,其中10台设置在美国,另外各有一台设置于英国.瑞典和日本.下表是这些机器的管理单位.设置地点及最新的IP地址. 供应商 ...

  6. C#中Post请求的两种方式发送参数链和Body的

    POST请求 有两种方式 一种是组装key=value这种参数对的方式 一种是直接把一个字符串发送过去 作为body的方式 我们在postman中可以看到 sfdsafd sdfsdfds publi ...

  7. 判断Android 当前版本是否为debug版本

    public static boolean isDebugVersion(Context context) { try { ApplicationInfo info = context.getAppl ...

  8. 看不见的攻击面:查看 SQLite 数据库就中招?

    Navicat 客户端存在一个 XSS,在查看表字段时,没有对内容进行处理,导致一个 XSS 问题.利用这个漏洞可以读取敏感文件,比如 /Users/XXXX/.bash_history . 漏洞发现 ...

  9. 项目通过tomcat部署到服务器,请求数据中文乱码问题

    问题: 本地项目请求访问,浏览器中文输出没问题.部署到服务器上面之后,返回到浏览器的中文就乱码了. 尝试办法: 1.修改tomcat下的conf中的service.xml中的配置信息: 重新启动后,没 ...

  10. fft ocean注解

    针对这两篇教程: http://www.keithlantz.net/2011/10/ocean-simulation-part-one-using-the-discrete-fourier-tran ...