zoukankan      html  css  js  c++  java
  • bytes函数——字节

    bytes 函数


    描述

    bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。

    参数

    • 如果 source 为整数,则返回一个长度为 source 的初始化数组;

      In [2]: bytes(10)
      Out[2]: b'x00x00x00x00x00x00x00x00x00x00'
      
      In [7]: for i in a:
         ...:     print(i)
         ...:
      0
      0
      0
      0
      0
      0
      0
      0
      0
      0
      
    • 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

      In [8]: b = 'abcde'
      
      # 对字符串转bytes,必须指定encoding
      In [9]: bytes(b)
      ---------------------------------------------------------------------------
      TypeError                                 Traceback (most recent call last)
      <ipython-input-9-de281ca82066> in <module>
      ----> 1 bytes(b)
      
      TypeError: string argument without an encoding
      
      In [10]: c = bytes(b,encoding = 'utf8')
      
      In [11]: c
      Out[11]: b'abcde'
      
    • 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;

      In [18]: d = [1,2,3,4,5]
      
      In [19]: dd = bytes(d)
      
      In [20]: dd
      Out[20]: b'x01x02x03x04x05'
      
      In [21]: for i in dd:
          ...:     print(i)
          ...:
      1
      2
      3
      4
      5
      
      # 256 超出范围
      In [15]: d = [256,1]
      
      In [16]: bytes(d)
      ---------------------------------------------------------------------------
      ValueError                                Traceback (most recent call last)
      <ipython-input-16-efafa46d77e8> in <module>
      ----> 1 bytes(d)
      
      ValueError: bytes must be in range(0, 256)
      
    • 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。

    • 如果没有输入任何参数,默认就是初始化数组为0个元素。

    返回值

    返回一个新的 bytes 对象。

    字节(Byte,B)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符 。

    一个字节存储8位无符号数,储存的数值范围为0-255。如同字元一样,字节型态的变数只需要用一个位元组(8位元)的内存空间储存 。

    相当于一个字符,8位=1字节

    字节通常简写为“B”,而位通常简写为小写“b”

    数据类型

    Byte是从0-255的无符号类型,所以不能表示负数

    相关单位

    B与bit

    数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位。

    一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位 。

    换算

    不同数量级间

    1字节(Byte)=8位(bit)

    1KB( Kilobyte,千字节)=1024B

    1MB( Megabyte,兆字节)=1024KB

    1GB( Gigabyte,吉字节,千兆)=1024MB

    1TB( Trillionbyte,万亿字节,太字节)=1024GB

    1PB( Petabyte,千万亿字节,拍字节)=1024TB

    1EB( Exabyte,百亿亿字节,艾字节)=1024PB

    1ZB(Zettabyte,十万亿亿字节,泽字节)=1024EB

    1YB( Yottabyte,一亿亿亿字节,尧字节)=1024ZB

    1BB( Brontobyte,千亿亿亿字节)=1024YB

    字节顺序

    应该注意到,多字节字段中的值是按照大末尾(big- endian)顺序规定的,具体来说就是最高位的字节出现在高位,而低位的字节出现在低位。这会引起工作在Intel平台上的程序员的迷感,因为在 Intel的平台上。数据是按照小末尾(little-endian)顺序存储的,高位的字节出现在低位 [7] 。

  • 相关阅读:
    tornado之运行第一个tornado程序
    Django之QuerySet 查询
    openstack之路:KVM/Libvirt 安装
    【原创】Linux基础之SSH隧道/端口转发
    【原创】运维基础之keepalived
    【原创】数据库基础之Mysql(2)主从库配置
    【原创】Linux基础之iptables
    【原创】大叔经验分享(28)ELK分析nginx日志
    【原创】算法基础之Anaconda(1)简介、安装、使用
    【原创】大数据基础之Airflow(1)简介、安装、使用
  • 原文地址:https://www.cnblogs.com/pythonwl/p/14580949.html
Copyright © 2011-2022 走看看