zoukankan      html  css  js  c++  java
  • Bytes类型

    硬盘只能存储2进制的数据,所以把我数据都转化为2进制才行


    数据往硬盘上面存,就要以相应的编码--》转为2进制

    eg. 

    文字--》utf-8/gbk--》2进制

    图片--》jpg/png--》2进制

    音乐--》mp3/wav--》2进制

    视频--》mp4/mov--》2进制

    1 s = "小猿圈“
    2 s.encode("utf-8")  #以utf-8编码
    3 b'xe5xb0x8fxe7x8cxbfxe5x9cx88' #b开头的都代表是bytes类型,是以16进制来显示的,2个16进制代表一个字节。 utf-8是3个字节代表一个中文,所以以上正好是9个字节

    想要自行改变文件类型的编码,只需要

    1 f = open(file="encode_test",encoding="gbk",mode="w")
    2 或者
    3 f = open("byte.txt","w",encoding="gbk")

    以二进制模式操作文件

    1      当然,在打开文件时如果你不想让open这个对象帮你自动编码,你也可以直接往文件里存入bytes数据。
    2 f = open("bytes.txt","wb")  #以2进制模式打开文件
    3 s = "进击的小吴”.encoding(utf-8)  #自行用utf-8编码    
    4 print(s)
    5 f.write(s)    这里相当于把之前用utf-8编码的进击的小吴写进文档里里面了,相当于直接存入了bytes数据
    6 f.close()

    #以下是print(s)的输出
    b'xe8x87xaaxe5xadxa6xe7xbcx96xe7xa8x8bxefxbcx8cxe8xb0x81xe4xb8x8dxe4xb8x8axe5xb0x8fxe7x8cxbfxe5x9cx88'(举个例子,我的应该有30个16进制数,
    文件中相当于把这个东西填充进去了)

    二进制模式打开文件有

    1. wb     二进制创建

    2. rb      二进制读

    3. ab      二进制追加

  • 相关阅读:
    php 之 没有mysql支持时的替代方案
    在php中使用sockets:从新闻组中获取文章
    PHP ON 阿里云的环境配置攻略
    java基础2
    java基础1
    连接查询(内连接)
    mysql数据约束
    mysql表中数据的增删改查2
    mysql表中数据的增删改查
    mysql表的增查改删
  • 原文地址:https://www.cnblogs.com/jiajin-wu/p/11817008.html
Copyright © 2011-2022 走看看