当前位置: 首页 > 面试题库 >

如何在python中将字节字符串拆分为单独的字节

松洛华
2023-03-14
问题内容

好的,所以我一直在使用python尝试创建波形图像,并.wav使用song = wave.open()和从文件中获取原始数据song.readframes(1),它返回:

b'\x00\x00\x00\x00\x00\x00'

我想知道的是我如何分割成三个独立的字节,比如这个b'\x00\x00'
b'\x00\x00'b'\x00\x00'因为每个帧由3个字节,所以我需要每一个人字节的值才能够使一个波形。我认为这就是我需要这样做的方式。


问题答案:

您可以对byte对象使用切片:

>>> value = b'\x00\x01\x00\x02\x00\x03'
>>> value[:2]
b'\x00\x01'
>>> value[2:4]
b'\x00\x02'
>>> value[-2:]
b'\x00\x03'

但是,在处理这些框架时,您可能还想了解memoryview()对象。这些使您可以将字节解释为C数据类型,而无需进行任何额外的工作,只需在基础字节上投射“视图”即可:

>>> mv = memoryview(value).cast('H')
>>> mv[0], mv[1], mv[2]
256, 512, 768

mv现在,该对象是一个内存视图,每2个字节将其解释为无符号的short;因此它现在具有长度3,并且每个索引都是基于基础字节的整数值。



 类似资料:
  • 问题内容: 我试图在网上四处寻找将字符串拆分为字符数组的答案,但似乎找不到一个简单的方法 似乎不像Ruby那样工作。有没有一种简单的方法可以不循环? 问题答案:

  • 问题内容: 将字符串拆分为流的 最佳 方法是什么? 我看到了这些变化: 我的优先事项是: 坚固性 可读性 性能 一个完整的可编译示例: 问题答案: / 由于返回数组,因此我始终建议您使用流式处理数组的规范用法。 / 是一个 varargs 方法,它恰好接受一个数组,这是由于varargs方法是通过数组实现的,并且在将varargs引入Java以及改型为接受可变参数的现有方法时,存在兼容性方面的问题

  • 问题内容: 在Java中将字符串拆分为1024个字节的块的有效方法是什么?如果有多个块,则需要在所有后续块中重复标头(固定大小的字符串)。 问题答案: 字符串和字节是完全不同的两件事,因此要将字符串拆分为字节与将绘画拆分为经文一样没有意义。 您实际上想做什么? 要在字符串和字节之间进行转换,您需要指定一种编码,该编码可以对String中的所有字符进行编码。根据编码和字符,其中一些可能跨越一个以上的

  • 如何将字符串(字节字符串)转换为字节(字节字符串),而不必手动复制和粘贴字符串并在其前面放置b?

  • 问题内容: 我希望我的Python函数拆分一个句子(输入)并将每个单词存储在列表中。我当前的代码拆分了句子,但没有将单词存储为列表。我怎么做? 问题答案: 这应该足以将每个单词存储在列表中。 words已经是句子中单词的列表,因此不需要循环。 其次,这可能是拼写错误,但是你的循环有些混乱。如果你确实确实想使用附加,它将是: 不

  • 问题内容: 我有一个,我想将其拆分为, 此拆分代码应适用于所有输入之王,例如ab123456和acff432等。如何拆分这种字符串。可能吗? 问题答案: 您可以尝试拆分像的正则表达式。试试这个: 将输出 您可以使用解析数字字符串为Integer 。