FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

struct

Упаковка чисел в переносимый бинарный формат.

Условия работы

struct.calcsizeВычисляет требуемую длину буфера.

struct.calcsize

calcsize(fmt)

Вычисляет требуемую длину буфера.

Аргументы

Аргументы вызова struct.calcsize
ИмяНазначение и допустимые значения
fmtСтрока двоичного формата.

Возвращаемое значение

Целый размер записи в байтах.

Пример

MicroPython FEMM 5
"Пример struct.calcsize.\nСреда: встроенный MicroPython FEMM 5.\nВычисляет требуемую длину буфера.\nРезультат: Целый размер записи в байтах."

import struct
assert struct.calcsize('<if') == 8

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

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

struct.packСоздаёт двоичную запись параметров.

struct.pack

pack(fmt, *values)

Создаёт двоичную запись параметров.

Аргументы

Аргументы вызова struct.pack
ИмяНазначение и допустимые значения
fmtФормат типов и порядка байтов.
valuesЗначения в порядке полей формата.

Возвращаемое значение

bytes фиксированной длины.

Пример

MicroPython FEMM 5
"Пример struct.pack.\nСреда: встроенный MicroPython FEMM 5.\nСоздаёт двоичную запись параметров.\nРезультат: bytes фиксированной длины."

import struct
b=struct.pack('<Hf',100,0.25)
assert struct.unpack('<Hf',b) == (100,0.25)

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

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

struct.unpackЧитает одну двоичную запись.

struct.unpack

unpack(fmt, buffer)

Читает одну двоичную запись.

Аргументы

Аргументы вызова struct.unpack
ИмяНазначение и допустимые значения
fmtФормат записи.
bufferБайтовый буфер требуемой длины.

Возвращаемое значение

Кортеж восстановленных значений.

Пример

MicroPython FEMM 5
"Пример struct.unpack.\nСреда: встроенный MicroPython FEMM 5.\nЧитает одну двоичную запись.\nРезультат: Кортеж восстановленных значений."

import struct
assert struct.unpack('<H',b'\x64\x00') == (100,)

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

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

struct.pack_intoЗаписывает поля в существующий буфер.

struct.pack_into

pack_into(fmt, buffer, offset, *values)

Записывает поля в существующий буфер.

Аргументы

Аргументы вызова struct.pack_into
ИмяНазначение и допустимые значения
fmtФормат.
bufferИзменяемый байтовый буфер достаточной длины.
offsetСмещение в байтах.
valuesЗначения полей.

Возвращаемое значение

None.

Пример

MicroPython FEMM 5
"Пример struct.pack_into.\nСреда: встроенный MicroPython FEMM 5.\nЗаписывает поля в существующий буфер.\nРезультат: None."

import struct
b=bytearray(4)
struct.pack_into('<H',b,1,100)
assert struct.unpack_from('<H',b,1) == (100,)

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

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

struct.unpack_fromЧитает запись внутри большого буфера.

struct.unpack_from

unpack_from(fmt, buffer, offset=0)

Читает запись внутри большого буфера.

Аргументы

Аргументы вызова struct.unpack_from
ИмяНазначение и допустимые значения
fmtФормат.
bufferБайтовый буфер.
offsetСмещение начала записи в байтах.

Возвращаемое значение

Кортеж значений.

Пример

MicroPython FEMM 5
"Пример struct.unpack_from.\nСреда: встроенный MicroPython FEMM 5.\nЧитает запись внутри большого буфера.\nРезультат: Кортеж значений."

import struct
b=struct.pack('<HH',10,20)
assert struct.unpack_from('<H',b,2) == (20,)

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

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

Имена в установленной сборке

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