1. 二进制

bin()十进制转二进制 0b
oct()十进制转八进制 0o
hex()十进制转十六进制 0x,4个二进制对应1个16进制,用于网络编程,数据存储

print(int('110111',2)) = 55
print(int('ffff',16)) = 65535
print(int('7777',8)) = 4095

2. 字符编码

python怎么输出二进制 python输出二进制字符_十进制


ASCII码,8位,1个字节,8bit=1bytes

GB2312,汉字

GBK1.0,繁体

GB18030,少数名族

Unicode,万国码,支持所有语言,全部2个字节,对所有语言有映射关系

UTF-8,对Unicode编码的压缩和优化,ASCII的1个字节,欧洲字符2个字节,东亚字符3个字节

3. 文件

with open (r'a1.txt',r)as f1,open() as f2:
不需要close
乱码情况,什么保存什么读取,win:gbk encoding=‘utf-8’
默认打开模式,r,默认操作模式,r,w,a
修改文件两种方式,全部读入内存,修改,修改后全部写入原文件;以读的方式打开原文件,以写的方式打开新文件,一行一行边读边改

3.1 打开方式

  • r,默认rt,只读,read,readlines
  • w,只写,write,覆盖,writelines,可写列表
  • a,只追加,光标到末尾
  • b,读取二进制,decode可以还原,二进制模式写,汉字.encode
  • 混合模式,r+读写,w+写读
  • 文件只能存字符串用,可以用eval还原存入的数据类型

3.2 文件操作

  • seek,按字节移动,汉字3个,中间写入会覆盖数据,修改方法:全部读入内存修改,用replace替换,for in f 一行一行读取修改,os模块remove原来文件,rename新文件
  • tell
  • read,read(2),读2个字符
  • fileno,返回文件句柄在内核中的索引
  • fluse,强制从缓存刷新到硬盘
  • readable
  • readline
  • seekable
  • truncate,从当前位置开始,后面的删掉;加上值,从值后面开始删