Python数据类型中bytes 与 bytearray

这篇具有很好参考价值的文章主要介绍了Python数据类型中bytes 与 bytearray。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Python中,我们可以使用bytes和bytearray两种数据类型来处理二进制数据。bytes是一个不可变的序列类型,而bytearray是一个可变的序列类型。本文将介绍如何使用Python来创建、操作和转换bytes和bytearray。

  • bytes:可以看作是一组二进制数值(0-255) 的 str 序列

  • bytearray :可以看作是一组二进制数值(0-255) 的 list 序列

创建bytes和bytearray对象

首先,我们需要创建一个bytes或bytearray对象来存储二进制数据。下表展示了创建bytes和bytearray对象的几种方式:

步骤 描述 代码示例
1 使用字符串创建bytes对象 b = b'hello'
2 使用字节数组创建bytearray对象 ba = bytearray([104, 101, 108, 108, 111])
3 使用字符串的encode方法创建bytes对象 b = 'hello'.encode()
4 使用bytes对象的decode方法创建字符串 s = b.decode()

操作bytes和bytearray

接下来,我们将介绍如何操作bytes和bytearray对象。

访问元素
bytes和bytearray对象都可以通过索引来访问其中的元素。注意,它们的索引是从0开始的。下面是一些示例代码:

b = b'hello'
print(b[0]) # 输出: 104

切片操作
我们可以使用切片操作来获取bytes和bytearray对象的子序列。切片操作返回一个新的bytes或bytearray对象。下面是一些示例代码:

b = b'hello'
print(b[1:4]) # 输出: b'ell'

修改字节值
由于bytes对象是不可变的,所以我们无法直接修改其中的字节值。但是,bytearray对象是可变的,我们可以通过索引来修改字节值。下面是一个示例代码:

ba = bytearray(b'hello')
ba[0] = 106
print(ba) # 输出: bytearray(b'jello')

拼接操作
我们可以使用加号运算符来拼接bytes和bytearray对象。注意,拼接操作将返回一个新的bytes或bytearray对象。下面是一些示例代码:

b1 = b'hello'
b2 = b'world'
b3 = b1 + b2
print(b3) # 输出: b'helloworld'

转换bytes和bytearray
有时候,我们需要在bytes和bytearray之间相互转换。下面是一些示例代码:

b = b'hello'
ba = bytearray(b)
print(ba) # 输出: bytearray(b'hello')
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441

ba = bytearray(b'hello')
b = bytes(ba)
print(b) # 输出: b'hello'

结论

在本文中,我们学习了如何使用Python来创建、操作和转换bytes和bytearray对象。

我们首先介绍了创建对象的几种方式,然后讨论了如何访问元素、使用切片操作、修改字节值和拼接操作。

最后,我们学习了如何在bytes和bytearray之间相互转换。通过掌握这些知识,你将能够有效地处理二进制数据。文章来源地址https://www.toymoban.com/news/detail-836535.html

到了这里,关于Python数据类型中bytes 与 bytearray的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从 Uber 数据泄露事件我们可以学到什么?

    Uber 数据泄露始于一名黑客从暗网市场购买属于一名 Uber 员工的被盗凭证。最初尝试使用这些凭据连接到 Uber 的网络失败,因为该帐户受 MFA 保护。为了克服这一安全障碍,黑客通过 What’s App 联系了 Uber 员工,并假装是 Uber 的安全人员,要求该员工批准将 MFA 通知发送到他们

    2024年02月04日
    浏览(47)
  • python的scrapy框架----->可以使我们更加强大,为打破写许多代码而生

    含义: 构图:  运行流程:1.scrapy框架拿到start_urls构造了一个request请求 2.request请求发送给scrapy引擎,中途路过爬虫中间件,引擎再发送request给调度器(一个队列存储request请求) 3.调度器再把requst请求发送给引擎 4.引擎再把requst请求发送给下载器,中途经过下载中间件 5.下载器然后访问

    2024年02月08日
    浏览(84)
  • python bytearray 的使用

    bytearray 的作用: bytearray 方法返回一个新字节数组,就是把一个数组转成bytes,一般socket 传递数据的时候可能会用到,但是自己使用的struct转字节,不过这里还是说下bytearray的注意实现,比如list里是string的时候就不能是用bytearray了,list里面是int 的时候可以,下面会通过de

    2023年04月09日
    浏览(31)
  • Redis数据迁移过程,使用jedis客户端发送命令,需要注意string和byte类型的命令,如果使用的转换字符编码不一致,会导致丢数据

    string与byte来回转换,需要指定一样字符编码规则 详细原因请参考: 关于Java中bytes到String的转换-阿里云开发者社区   简单来说 (1)string和byte转换之间需要指定字符编码参数Charset.defaultCharset(),默认不指定的情况下,使用的是utf-8编码,所以一般情况下相互转换使用的都是同

    2023年04月09日
    浏览(90)
  • java中byte[]类型如何转换为String类型

    在 Java 中将 byte[] 类型转换为 String 类型,可以使用 String 的构造函数或者静态方法。 使用 String 构造函数 byte[] byteArray = {97, 98, 99}; String str = new String(byteArray);      2.使用静态方法 valueOf() byte[] byteArray = {97, 98, 99}; String str = String.valueOf(byteArray); 需要注意的是,在转换过程中需

    2024年02月12日
    浏览(51)
  • JavaScript中的数据类型可以分为两类:原始类型和引用类型。

    JavaScript中的数据类型可以分为两类:原始类型和引用类型。 JavaScript中的原始类型有五种,分别是: 数字(Number):表示数字,包括整数和浮点数。 字符串(String):表示文本字符串。 布尔值(Boolean):表示逻辑上的真或假。 undefined:表示未定义的值。 null:表示空值。

    2024年01月24日
    浏览(47)
  • Java 中怎样将 bytes 转换为 long 类型?

      将bytes 转换为long类型: 第一种方式: String 接收 bytes 的构造器转成 String,再 Long.parseLong; 但此种情况需要注意:字节数组中的每个字节都必须是有效的数字字符。如果字节数组包含非数字字符,则会引发NumberFormatException异常。确保在调用Long.parseLong()之前验证输入的字符

    2024年02月13日
    浏览(42)
  • 【Go】rune和byte类型的认识与使用

    大家好 我是寸铁👊 总结了一篇rune和byte类型的认识与使用的文章✨ 喜欢的小伙伴可以点点关注 💝 byte ,占用 1 个字节,共8个比特位,所以它实际上和 uint8 没什么本质区别,它表示的是一个 ASCII 码字符。 rune ,占用 4 个字节,共 32 个比特位,所以它实际上和 int32 没什么本质

    2024年01月21日
    浏览(36)
  • 【Go面试向】rune和byte类型的认识与使用

    大家好 我是寸铁👊 总结了一篇rune和byte类型的认识与使用的文章✨ 喜欢的小伙伴可以点点关注 💝 byte ,占用 1 个字节,共8个比特位,所以它实际上和 uint8 没什么本质区别,它表示的是一个 ASCII 码字符。 rune ,占用 4 个字节,共 32 个比特位,所以它实际上和 int32 没什么本质

    2024年01月19日
    浏览(33)
  • Oracle to_char可以转换哪些类型的数据

    在Oracle数据库中,TO_CHAR函数用于将数字、日期和时间类型的数据转换为字符串。它可以转换以下类型的数据: 数字类型:TO_CHAR函数可以将数字类型(如NUMBER, INTEGER, FLOAT, DOUBLE, DECIMAL等)转换为字符串。你可以指定格式模型来控制数字的显示方式,例如保留小数位数、添加千

    2024年03月24日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包