我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python内置数据结构——bytes,

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python内置数据结构——bytes,

bytes,bytearray

字符串与bytes

  • 字符串是字符组成的有序序列,字符可以使用编码来理解

  • bytes是字节组成的有序的不可变序列

  • bytesarray是字节组成的有序的可变序列

编码与解码

  • 字符串按照不同的字符集编码encode返回字序列bytes

            bytes.encode(encoding = 'utf - 8',errors = 'stirct') -> bytes

  • 字节序列按照不同的字符集解码decode 返回字符串

            bytes.decode(encoding = "utf - 8",errors = "strict") -> str

            bytearray.decode(encoding ="utf - 8",errors = "strict" ) -> str

ASCII

            ASCII(American Standard Code for information Interchange,美国信息交换标准代码)是基于拉丁字母的一套单字节编码系统

bytes定义

  • bytes() 空bytes

  • bytes(int) 指定字节bytes,被0填充

  • bytes(iterable_of_ints) -> bytes[0~255] 的int组成的可迭代对象

  • bytes(string,encodeing[,errors]) -> bytes  等价于string.encode()

  • bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer从一个字节序列或者buffer复制出一个新的额不可变的bytes对象

  • 使用b 前缀定义

            只允许基本ASCII使用字符形式 b'abc9'

            使用16进制表示b'\x41\x61'

bytes操作

  • 和str类型类似,都是不可变类型,所以犯法很多都一样,只不过bytes的方法,输入是bytes,输出是bytes

    • b'abcdef'.replace(b'f',b'k')

    • b'abc'.find(b'b')

  • 类方法 bytes.fromhex(string)

    • string必须是2 个字符的16进制的形式,"6162 6a 6b", 空格将被忽略

    • bytes.fromhex("6162 09 6a 6b00")

  • hex()

    • 返回16 进制表示的字符串

    • "abc".encode().hex()

  • 索引

    • b.'abcdef'[2] 返回该字节对应的数,int类型

bytearray定义

定义:

  • bytearray()空bytearray

  • bytearray(int) 指定字节的bytearray, 被0 填充

  • bytearray(iterable_of_ints) -> bytearray  [0,255]的int组成的可迭代对象

  • bytearray(string,encoding[,errors]) -> bytearry 近似string.encode() ,不过返回可变对象

  • bytearray(bytes_or_buffer)从一个字节序列或者buffer复制出一个新的可变的bytearray对象

注意:b前缀定义的类型是bytes类型

bytearray操作

  • 和bytes类型的方法相同

    • bytearray(b'abcdef').replace(b'f',b'k')

    • bytearray(b'abc').find(b'b')

  • 类方法 bytearray.fromhex(string)

    • string必须是2 个字符的16进制的形式,‘6162 6a 6b’,空格将被忽略

    • bytearray.fromhex('6162 09 6a 6b00')

  • hex()

    • 返回16 进制表示的字符串

    • bytearray('abc'.encode()).hex()

  • 索引

    • bytearray(b'abcdef')[2] 返回该字节对应的数,in类型


  • .append(int)尾部追加一个元素

  • .insert(index,int)在指定索引位置插入元素

  • .extend(iterable_of_ints) 讲一个可迭代的整数集合追加到当前bytearray

  • .pop(index = -1)从指定索引上移除元素,默认从尾部移除

  • .remove(value)找到第一个value移除,找不到抛value error

注意: 上述方法若需要使用int类型,值在[0,255]

  • .clear() 清空bytearray

  • .reverse()翻转bytearray ,就地修改

int 和 bytes 之间转换

  • int.from_bytes(bytes,byteorder)

    • 将以个字节数组表示成整数

  • int.to_bytes(length, byteorder)

    • byteorder 指字节序(大端big)

    • 将一个整数表达成一个指定长度的字节数组

i = int.form_bytes(b.'abc', 'big')
print( i , hex()) # 6382179  0x616263
printn(i.to_bytes(3 , 'big')) # b'abc'


所有数据在内存中全部都是2进制的形式,人要理解一个内存中的数据必须先要指定它的类型,否则这个数据是没有意义的

一个字节 = 8位

一个字节0~255

两个字节0~65535

0~255

0~127


大小端的意思是在内存中数据是如何存放的 (大小端代表着高低字节)例如:如果给两个字节ab 是a放高地址呢还是b放高地址呢

低字节放在高地址上,大端模式big

低字节放在小地址上,小端模式little

高低字节的排放顺序~~~

网络上采用大端模式

windows内部采用小端模式

mac用大端模式



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python内置数据结构——bytes,

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python内置数据结构——bytes,

bytes,bytearray字符串与bytes字符串是字符组成的有序序列,字符可以使用编码来理解bytes是字节组成的有序的不可变序列bytesarray是字节组成的有序的可变序列编码与解码字符串按照不同的字符集编码encode返回字序列
2023-01-31

python内置数据结构

1、列表--是一个序列,用于顺序的存储数据列表的定义与初始化In [374]: lst = list()In [375]: lstOut[375]: []In [376]: lst = []In [377]: lst = [1,2,3]In
2023-01-31

Python内置数据结构3

解构In [8]: lst = [1,2]In [9]: lstOut[9]: [1, 2]In [10]: first,second = lst  #解构In [11]: print(first,second)1 2按照元素顺序,把线性结
2023-01-31

Python内置数据结构——列表list

内置数据结构分类:数值型int , float , complex , bool序列对象字符串 str列表 listtuple(元组)键值对集合 set字典 dict数字型int ,float , complex , bool都是class
2023-01-31

week02_python内置数据结构_

> 数值型:int、float、complex、bool都是class,1,5.0,2+3j都是对象即实例;int:python3的int就是长整型,且没有大小限制,受限于内存区域的大小;float:额整数部分和小数部分组成。支持十进制和科
2023-01-31

python中有哪些内置数据结构

这篇文章给大家介绍python中有哪些内置数据结构,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python的数据类型有哪些?python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(
2023-06-14

Python中有什么内置数据结构

本篇内容主要讲解“Python中有什么内置数据结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中有什么内置数据结构”吧!Python可谓是如今最流行的编程语言,甚至孩子们也可以从它
2023-06-16

【Python3】04、内置数据结构

1、把字符串形式的整数或浮点数转化为int或float, 不适用int和float函数In [57]: str1 = "2468.1357"In [58]: d1 = {"0":0, "1":1, "2":2, "3":3, "4":4, 
2023-01-31

python学习3-内置数据结构3-by

一、字符串与bytesstr是文本系列,有编码,bytes是字节系列,没有编码,文本的编码是字符如何用字节来表示。都不可变,python3默认使用utf8。文本转换编码:s.encode(['编码方式'])编码转换文本:s.decode([
2023-01-31

python学习3-内置数据结构2-元组

元组是不可变的,可hash1、定义t = tuple()t = (1,2,3)2、查t[index] #按照下标获取值t.index(value) #按照值获取下标值,不存在报value errott.count(value) #获取某个值
2023-01-31

python学习3-内置数据结构1-列表

列表及常用操作    列表是一个序列,用于顺序的存储数据1、定义与初始化lst = list() #使用list函数定义空列表lst = []    #使用中括号定义列表lst = [1,2,3]    #使用中括号定义初始值列表lst =
2023-01-31

python学习3-内置数据结构3-字符

字符串是集合类型1、定义s = 'hello python's = "hellp python"以上2种没有区别s = '''hello python'''s = """hello python"""以上2种没有区别区别在于三引号可以定义多
2023-01-31

Python内建数据结构详解

一、列表(List)list 是一个可以在其中存储一系列项目的数据结构。list 的项目之间需用逗号分开,并用一对中括号括将所有的项目括起来,以表明这是一个 list 。下例用以展示 list 的一些基本操作:# 定义一个 list 对象
2022-06-04

4种非常实用的python内置数据结构

arrayPython不仅仅可以使用内置的list实现数组,还支持像C语言那样的指定类型的原生数组array。 很显然,因为list可以存储各种类型的对象,而array只存储一个指定的原生类型,所以当数据量较大时,原生array在内存占用方
2022-06-02

python数据结构

一:数据结构  数据结构可以认为他们是用来处理一些数据的或者说是存储数据。  对于数据结构的介绍会关系到类和对象的定义,此处对这两个定义加以描述。  何为类:说道类首先我们能够想到类型,在数据结构中类型有哪些常用的类型有int整型,floa
2023-01-31

python 数据结构

list(列表)创建list方式1  : 直接创建  theList = [1,2,3,4,5,6,7,8,9]                    ==> [1,2,3,4,5,6,7,8,9]方式2 : 使用内建方法list(), 
2023-01-31

Python数据结构__树

树是一种非常重要的数据结构,它是非线性结构,它不是Python内置的数据结构;树:  1.非线性结构,每个元素可以有多个前驱和后继;  2.树是n(n>=0)个元素的集合    n=0时,称为空树;    树只有一个特殊的没有前驱的元素,称
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录