src.bluetooth_sig.gatt.characteristics.templates.string

String templates for UTF-8 and UTF-16LE variable-length parsing.

Covers Utf8StringTemplate and Utf16StringTemplate.

Classes

Name

Description

Utf16StringTemplate

Template for UTF-16LE string parsing with variable length.

Utf8StringTemplate

Template for UTF-8 string parsing with variable length.

Module Contents

class src.bluetooth_sig.gatt.characteristics.templates.string.Utf16StringTemplate(max_length: int = 256)

Bases: src.bluetooth_sig.gatt.characteristics.templates.base.CodingTemplate[str]

Template for UTF-16LE string parsing with variable length.

decode_value(data: bytearray, offset: int = 0, ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None = None, *, validate: bool = True) str

Parse UTF-16LE string from remaining data.

encode_value(value: str, *, validate: bool = True) bytearray

Encode string to UTF-16LE bytes.

UNICODE_BOM = '\ufeff'
UNICODE_SURROGATE_END = 57343
UNICODE_SURROGATE_START = 55296
property data_size: int

Variable (0 to max_length, even bytes only).

Type:

Size

max_length = 256
class src.bluetooth_sig.gatt.characteristics.templates.string.Utf8StringTemplate(max_length: int = 256)

Bases: src.bluetooth_sig.gatt.characteristics.templates.base.CodingTemplate[str]

Template for UTF-8 string parsing with variable length.

decode_value(data: bytearray, offset: int = 0, ctx: src.bluetooth_sig.gatt.context.CharacteristicContext | None = None, *, validate: bool = True) str

Parse UTF-8 string from remaining data.

encode_value(value: str, *, validate: bool = True) bytearray

Encode string to UTF-8 bytes.

property data_size: int

Variable (0 to max_length).

Type:

Size

max_length = 256