博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python二进制、字符编码及文件操作
阅读量:5126 次
发布时间:2019-06-13

本文共 940 字,大约阅读时间需要 3 分钟。

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. 字符编码

1476661-20190422125908853-127417765.png

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,从当前位置开始,后面的删掉;加上值,从值后面开始删

转载于:https://www.cnblogs.com/qiuyicheng/p/10749013.html

你可能感兴趣的文章
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
UseIIS
查看>>
集合体系
查看>>
vi命令提示:Terminal too wide
查看>>
引用 移植Linux到s3c2410上
查看>>
MySQL5.7开多实例指导
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
Red and Black(poj-1979)
查看>>
分布式锁的思路以及实现分析
查看>>
腾讯元对象存储之文件删除
查看>>
jdk环境变量配置
查看>>