zoukankan      html  css  js  c++  java
  • 关于文件中"wb"与"rb"的理解

    “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.

  • 相关阅读:
    SQL优化索引
    如何减轻工作压力(一)
    奥巴马对美国影响最大的十句话
    10种职场潜规则
    Linux中的7件武器详解
    linux时间同步,ntpd、ntpdate
    Style中Position属性详解
    vsftp配置大全超完整版
    Linux 技巧:使用 screen 管理你的远程会话
    MySQL下mysql.sock丢失问题的解决
  • 原文地址:https://www.cnblogs.com/zijidefengge/p/12009642.html
Copyright © 2011-2022 走看看