5 《编码/解码》《文件读写:<文本/图片/音频/Excel/E-mail>》
(1)最小单位(比特)bit,最常用单位(字节B)byte: 1B=8 bit——手机流量就是这么计算的
百兆宽带(100bit/s)下载速度只有十几兆((100/8)B/s),因为计数单位不一样
(2)编码表(计算机世界字典) 是人类自然语言和机器语言沟通的桥梁
(3)编码方式‘Unicode’和‘UTF-8’
【Unicode】是内存编码的规范,占用内存大;【UTF-8】是硬盘存储和传输Unicode的手段,占用空间小。
Unicode内存编码(万国码):世界上所有的符号都有一个独一无二的编码,现在Unicode可以容纳100+万个符号,所有语言都可以互通,一个网页上也可以显示多国语言。
为迁就一些占用字节比较多的语言,英文也要跟着占两个字节。比如存储A,原本00010001就行,现在用00000000 00010001才行,对空间存储是种极大的浪费!基于这个痛点,UTF-8硬盘存储和传输编码(8-bit Unicode Transformation Format):针对Unicode的可变长度字符编码,它可以使用1~4个byte表示一个符号,根据不同的符号而变化byte长度,而当字符在ASCII码的范围时,就用一个字节表示,所以UTF-8还可以兼容ASCII编码。
(4)不同编码当前使用情况
计算机内存-Unicode;python3程序输入Unicode;数据硬盘存储+网络传输UTF-8(当点击保存是,计算机自动用UTF-8编码存储);有些中文网站还在使用GBK和GB2312。
(硬盘是计算机上所有的存储,而内存是打开后正在运行的程序)
(5)文件读写 - <绝对路径> <相对路径>
Windows系统,用 \来表示绝对路径,/来表示相对路径(当前.py文件所在路径)
(6)【不用写close()——with open(‘路径’,’方式’) as a:缩进4格】
a. 为什么还要close()文件呢? 1.计算机内存空间有限,打开过多就不能在打开了 2.保证写入内容已经完成
b. 在w,a读写方式下,如果路径没有此文件就会自动创建一个
c. 只写入1个字符串就用write(),写入list[] / dict{}全部信息就用writelines()
原文地址:https://www.cnblogs.com/lj-attitudes0303/p/10354642.html