Facilities associated with binary data.
Project description
Requires Python 3 because a Python 2 bytes object is too weak, as also is my cs.py.bytes hack class.
* Cameron Simpson <cs@cskk.id.au> 22jul2018
Class BytesesField
MRO: PacketField
A field containing a list of bytes chunks.
The following attributes are defined:
value
: the gathered data as a list of bytes instances, or None if the field was gathered withdiscard_data
true.offset
: the starting offset of the data.end_offset
: the ending offset of the data.
Class BytesField
MRO: PacketField
A field of bytes.
Class BytesRunField
MRO: PacketField
A field containing a continuous run of a single bytes value.
The following attributes are defined:
length
: the length of the runbytes_value
: the repeated bytes value
The property value
is computed on the fly on every reference
and returns a value obeying the buffer protocol: a bytes or
memoryview object.
Function fixed_bytes_field(length, class_name=None)
Factory for PacketField subclasses built off fixed length byte strings.
Function flatten(chunks)
Flatten chunks
into an iterable of bytes instances.
This exists to allow subclass methods to easily return ASCII strings or bytes or iterables or even None, in turn allowing them to simply return their superclass' chunks iterators directly instead of having to unpack them.
Class Int16BE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '>h'.
Class Int16LE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '<h'.
Class Int32BE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '>l'.
Class Int32LE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '<l'.
Class ListField
MRO: PacketField
A field which is a list of other fields.
Function multi_struct_field(struct_format, subvalue_names=None, class_name=None)
Factory for PacketField subclasses build around complex struct formats.
Paramaters:
struct_format
: the struct format stringsubvalue_names
: an optional namedtuple field name list; if supplied then the field value will be a namedtuple with these namesclass_name
: option name for the generated class
Class Packet
MRO: PacketField
Base class for compound objects derived from binary data.
Class PacketField
A record for an individual packet field.
Function struct_field(struct_format, class_name=None)
Factory for PacketField subclasses built around a single struct format.
Function structtuple(class_name, struct_format, subvalue_names)
Convenience wrapper for multi_struct_field.
Class UInt16BE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '>H'.
Class UInt16LE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '<H'.
Class UInt32BE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '>L'.
Class UInt32LE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '<L'.
Class UInt64BE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '>Q'.
Class UInt64LE
MRO: PacketField
A PacketFiled which parses and transcribes the struct format '<Q'.
Class UInt8
MRO: PacketField
A PacketFiled which parses and transcribes the struct format 'B'.
Class UTF8NULField
MRO: PacketField
A NUL terminated UTF-8 string.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.