“rb”,”wb”这两种方式在操作文件时,直接跳过了系统的编码方式,在windows系统中,用的编码为gbk:

①:with open(“a.txt”,”w”) as f1:

F1.write(“aa”)

默认用gbk进行编码并且写入。

②: with open(“a.txt”,”r”) as f1:

Print(F1.read())

默认用gbk编码进行解码

③: with open(“a.txt”,”wb”) as f1:

F1.write(“aa”.encode(“utf-8”))

跳过了系统的gbk而用的是utf-8进行编码,这跟”w”不一样,好像”w”只不过省略了一个步骤即:”aa”.encode(“gbk”),而”wb”只不过对作者要求的更多即:完成了计算机自动完成的步骤。

④:with open(“a.txt”,”rb”) as f1:

Print(f1.read().decode(“utf-8”))

程序员自己手动指定了二进制的解码方式为utf-8而不是gbk

⑤: with open(“a.txt”,”r”,encoding = “utf-8”) as f1:

Print(f1.read())

此时指定了”r”的编码方式为utf-8,跟”rb” 有一样的效果

总结:1、”wb”,”rb”能够跳过系统自带的编码方式

2、是不是,如果是”rb”,那么在print(f1.read())之前已经将二进制转换为了字符串,所以才会有with open(“a.txt”,”r”,encoding = “utf-8”) as f1 中的encoding.

最新文章

  1. [Error] ld returned 1 exit status
  2. 文本编辑的css常用属性
  3. 【kAri OJ 616】Asce的树
  4. Java学习之路(三)
  5. window删除损坏无法打开的文件
  6. python 优雅的使用正则表达式 ~ 1
  7. UVA 140 (13.07.29)
  8. Entity Framework 丢失数据链接的绑定,在已绑好的EDMX中提示“Choose Your Data Connection”
  9. Linux系统常用命令权威指南
  10. elasticsearch例子(crud + 分页)
  11. Asp.Net Core 轻松学-一行代码搞定文件上传
  12. RabbitMQ基本示例,轮询机制,no_ack作用
  13. 使用 WRK 压力测试工具对 ASP.NET Core 的接口进行压力测试
  14. 关于文件命名,你必须要知道的(浏览器报错:net::ERR_BLOCKED_BY_CLIENT)
  15. sql实时提交事务
  16. 『编程题全队』Beta 阶段冲刺博客五
  17. ngxs 状态管理器
  18. mysql 事务隔离级别 详解
  19. 【Mysql】linux连接mysql错误解决方案
  20. preventDefault

热门文章

  1. 程序员过关斩将--redis做消息队列,香吗?
  2. MySQL性能优化---索引
  3. bin utilities related
  4. Shell脚本 统计店中店导出数据
  5. 06_TypeScript泛型
  6. img 标签上的src 链接图片不存在时 怎么处理
  7. Go 1.14 中 Cleanup 方法简介
  8. WPF 原生绑定和命令功能使用指南
  9. 多线程笔记 - Master-Worker
  10. navicat连接异常 authentication plugin 'caching_sha2_password' 问题解决