Рубрики
Без рубрики

Python Bitstring: Классы и 6 Примеров | Модуль

Модуль Python Bitstring сделал работу с битами очень простой. Мы можем преобразовывать строки, целые числа, байты, шестнадцатеричные числа в битовые строки.

Автор оригинала: Team Python Pool.

Хотите понять и работать на языке, который понимают ваш компьютер и языки, такие как python? Просто пройдите эту статью одну, мы поможем вам достичь вашей цели. В этой статье мы узнаем об интересном модуле в python, известном как python bitstring.

Python Bitstring обычно определяется как модуль, который делает создание, анализ и манипулирование двоичными данными (содержит только 0 и 1) простым и естественным.

Мы увидим, как мы можем создавать битовые строки и как выполнять над ними операции. А если вы работаете на Python 2.7, вам не нужно беспокоиться, и модуль python bitstring поддерживает обе версии- 2.7 и 3.

Синтаксис модуля Bitstring Python

Мы не можем использовать модуль до тех пор, пока не установим его в наши системы.

Для установки используйте – pip install bitstring.

Классы в модуле Bitstring

Основная цель модуля-помочь нам в работе с двоичными данными на языке программирования python и сделать ее максимально простой. И именно поэтому модуль компрометирует четыре класса, которые помогут нам выполнить все наши задачи. Давайте разберемся в основах каждого из них.

Биты(auto=None,,, **kwargs)

Основное использование этого класса заключается в создании контейнера, который содержит неизменяемую последовательность битов. Под неизменным мы подразумеваем, что оно не может быть изменено после сотворения.

Параметры–

Авто: Это может быть строка разделенных запятыми токенов , целое число, файловый объект, bytearray, логическая итерация, массив или другая битовая строка. По умолчанию это None, и вы можете оставить его таким, используя аргумент ключевого слова.

Offset: Этот параметр можно использовать только при использовании инициализаторов байтов или имен файлов. Если мы хотим игнорировать некоторые стартовые биты, мы можем использовать параметр offset.

**kwargs: В этом параметре мы можем указать тип и значение, из которых мы хотим создать битовую строку. Это могут быть байты, bin, hex, oct, uint (unsigned int), int, filename и многие другие типы.

Возвращает тип Python bitstring . биты:

Он возвращает ‘bitstring.Тип вывода битов.

Некоторые из распространенных методов – all(), any(), count(), endswith(), find(). Мы не будем изучать теоретическую часть этих методов, потому что это сделает тему довольно запутанной. Позже мы попытаемся использовать их в наших программах.

класс bitstring.BitArray([auto, length, offset, **kwargs]) Битовой строки python

Этот класс является производным классом класса Bits, который мы изучали ранее. Основное и фундаментальное различие заключается в том, что BitArray возвращает изменяемые битовые строки. Это означает, что содержимое битов может быть изменено после того, как они были созданы.

Параметры одинаковы для класса BitArray, так что вы можете ссылаться на них сверху.

Тип возврата:

<класс ‘bitstring.BitArray’>

Некоторые распространенные методы – append(bs), byteswap(), clear(), insert().

битовая строка.ConstBitStream([auto, length, offset, **kwargs])

Этот класс также является производным классом класса Bits. Все методы, доступные в классе Bits, доступны в классе ConstBitStream. Автоинициализатор тоже такой же. В ConstBitStream класс имеет некоторые добавленные свойства и методы, которые позволяют анализировать биты как поток.

Мы не будем обсуждать параметры, потому что они такие же, как и выше.

Возвращаемый Тип Python Bitstring-

<класс ‘bitstring.ConstBitStream’>

Некоторые распространенные методы-bytealign(), peek(), peek list().

Битовая строка.Битовый поток()

Этот класс почти такой же, как класс ConstBitStream. Единственное отличие заключается в том, что этот класс допускает изменяемые битовые потоки.

Тип возврата-

<класс ‘bitstring.Битовый поток’>

Пока хватит теории! Давайте сразу перейдем к href=”http://www.dictionary.com/browse/practical”>практическая часть этого модуля. href=”http://www.dictionary.com/browse/practical”>практическая часть этого модуля.

Реализация модуля Bitstring Python

Следующие примеры демонстрируют использование модуля Bitstring –

  1. <Преобразование различных типов данных в BitString
  2. Как добавить в python bitstring
  3. Выполнение Операции Нарезки
  4. Создание ConstBitStream и выполнение операции peek над ним
  5. <Чтение битовой строки
  6. Работа с классом BitStream

a. Преобразование различных типов данных в битовую строку

from bitstring import Bits
#Converting a hexadecimal into bitstring(hex='0xff470001')
#Converting a octadecimal into bitstring(oct='0o4464')
#Converting a binary string into bitstring(bin='0b001010110101')
#Converting a integerl into bitstring(int=-1540,)
#Converting a unsigned integer into bitstring(uint=2300,)
#Converting a bytes into bitstring(bytes=b'\[email protected]',)
print(string1)
print(string2)
print(string3)
print(string4)
print(string5)
print(string6)
битовая строка python
битовая строка python
0xff470001
0x934
0x2b5
0x9fc
0x8fc
0x934

b. Как добавить в python bitstring

Мы не можем добавлять на класс Bits, но мы можем использовать класс BitArray для того же самого.

from bitstring import BitArray('0xbad')
# appending hexadecimal string at last
bas.append("0xff470001")
print(bas)
0xbadff470001

c. Выполнение Операции Нарезки

Original string: 0x1e 
Sliced string: 0xf

d. Создание ConstBitStream и выполнение операции peek над ним

from bitstring import ConstBitStream('0xff47000')
s.peek('hex:12') # integer is 4 bytes
'ff4'

e. Чтение битовой строки

0x123

f. Работа с классом BitStream

from bitstring import BitStream(oct='0o4464')
string.append('0o4')
print(string)
0b100100110100100

Должен Читать:

  • Как преобразовать строку в нижний регистр в
  • Как вычислить Квадратный корень
  • Пользовательский ввод | Функция ввода () | Ввод с клавиатуры
  • Лучшая книга для изучения Python

Вывод

Модуль Python Bitstring позволил нам очень легко играть с битами и байтами (0 и 1). В модуле есть 4 класса и много методов. Пожалуйста, исследуйте и попробуйте изучить еще больше методов.

Попробуйте запустить программы на вашей стороне и дайте нам знать, если у вас есть какие-либо вопросы.

Счастливого кодирования!