jam.types.base.sequences.bytes.byte_array module

class jam.types.base.sequences.bytes.byte_array.ByteArray(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: Array[Byte]

Array of bytes

__init__(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Initialize array.

Parameters:

initial – Required initial values

Raises:
  • TypeError – If elements are not all of the same Codable type

  • ValueError – If initial values don’t match fixed length

to_int(byteorder: Literal['big', 'little'] = 'big')[source]
classmethod from_json(data: Any) ByteArray[source]

Deserialize from JSON.

to_json() str[source]

Convert to JSON representation as hex string.

jam.types.base.sequences.bytes.byte_array.decodable_bytearray(length: int) Callable[[Type[ByteArray]], Type[ByteArray]][source]
class jam.types.base.sequences.bytes.byte_array.ByteArray8(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray16(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray32(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray64(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray96(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray128(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray144(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray256(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing

class jam.types.base.sequences.bytes.byte_array.ByteArray784(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]

Bases: ByteArray

static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[Any, int]

Decode from buffer. Must be implemented by subclasses or added via decorator.

Parameters:
  • buffer – Buffer to decode from

  • offset – Starting position in buffer

Returns:

  • The decoded value

  • Number of bytes read

Return type:

Tuple containing