12.17.2 Oggetti Unpacker

La classe Unpacker offre i seguenti metodi:

reset( data)
Resetta il buffer stringa con i dati data forniti.

get_position( )
Restituisce la posizione di spacchettamento corrente nel buffer di dati.

set_position( position)
Imposta la posizione position di spacchettamento nel buffer di dati. Fare attenzione nell'usare get_position() e set_position().

get_buffer( )
Restituisce sotto forma di stringa il buffer di dati spacchettato corrente.

done( )
Indica il completamento dello spacchettamento. Solleva un'eccezione Error se non sono stati estratti tutti i dati.

In aggiunta, qualunque tipo di dati che può essere immagazzinato con Packer, può essere estratto con un Unpacker. I metodi di estrazione seguono il modello unpack_type() senza argomenti. Restituiscono l'oggetto estratto.

unpack_float( )
Spacchetta un numero in virgola mobile a precisione singola.

unpack_double( )
Spacchetta un numero in virgola mobile a precisione doppia, in maniera simile a unpack_float().

Inoltre i seguenti metodi estraggono stringhe, byte e dati opachi:

unpack_fstring( n)
Spacchetta e restituisce una stringa di lunghezza fissa. n è il numero previsto di caratteri. Per garantire l'allineamento a 4 byte si aggiungono una serie di byte null.

unpack_fopaque( n)
Spacchetta e restituisce un flusso di dati opachi di lunghezza fissa, in maniera simile ad unpack_fstring().

unpack_string( )
Spacchetta e restituisce una stringa di lunghezza variabile. La lunghezza della stringa viene prima estratta come intero senza segno quindi la stringa di dati viene estratta con unpack_fstring().

unpack_opaque( )
Spacchetta e restituisce una stringa di dati opachi di lunghezza variabile, in maniera simile a unpack_string().

unpack_bytes( )
Spacchetta e restituisce un flusso di byte di lunghezza variabile, in maniera simile ad unpack_string().

I seguenti metodi supportano lo spacchettamento di array e liste:

unpack_list( unpack_item)
Spacchetta e restituisce una lista di elementi omogenei. La lista viene estratta un elemento per volta, estraendo prima un'opzione intera senza segno. Se l'opzione è 1 allora l'elemento viene estratto ed aggiunto alla lista. Un'opzione impostata a 0 indica la fine della lista. unpack_item è la funzione chiamata per estrarre gli elementi.

unpack_farray( n, unpack_item)
Estrae e restituisce (in forma di lista) un array di lunghezza fissa di elementi omogenei. n è il numero degli elementi della lista attesi nel buffer. Come già visto unpack_item è la funzione usata per estrarre ogni elemento.

unpack_array( unpack_item)
Spacchetta e restituisce una lista di lunghezza variabile di elementi omogenei. Per prima cosa la lunghezza della lista viene estratta come intero senza segno quindi viene estratto ogni elemento come in unpack_farray().

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.