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. 字符編碼
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,從當前位置開始,后面的刪掉;加上值,從值后面開始刪