12.17.2 Unpacker Objects 
The Unpacker class offers the following methods:
- reset(data)
 - 
Resets the string buffer with the given data.
 
- get_position()
 - 
Returns the current unpack position in the data buffer.
 
- set_position(position)
 - 
Sets the data buffer unpack position to position.  You should be
careful about using get_position() and set_position().
 
- get_buffer()
 - 
Returns the current unpack data buffer as a string.
 
- done()
 - 
Indicates unpack completion.  Raises an Error exception
if all of the data has not been unpacked.
 
In addition, every data type that can be packed with a Packer,
can be unpacked with an Unpacker.  Unpacking methods are of the
form unpack_type(), and take no arguments.  They return the
unpacked object.
- unpack_float()
 - 
Unpacks a single-precision floating point number.
 
- unpack_double()
 - 
Unpacks a double-precision floating point number, similarly to
unpack_float().
 
In addition, the following methods unpack strings, bytes, and opaque
data:
- unpack_fstring(n)
 - 
Unpacks and returns a fixed length string.  n is the number of
characters expected.  Padding with null bytes to guaranteed 4 byte
alignment is assumed.
 
- unpack_fopaque(n)
 - 
Unpacks and returns a fixed length opaque data stream, similarly to
unpack_fstring().
 
- unpack_string()
 - 
Unpacks and returns a variable length string.  The length of the
string is first unpacked as an unsigned integer, then the string data
is unpacked with unpack_fstring().
 
- unpack_opaque()
 - 
Unpacks and returns a variable length opaque data string, similarly to
unpack_string().
 
- unpack_bytes()
 - 
Unpacks and returns a variable length byte stream, similarly to
unpack_string().
 
The following methods support unpacking arrays and lists:
- unpack_list(unpack_item)
 - 
Unpacks and returns a list of homogeneous items.  The list is unpacked
one element at a time
by first unpacking an unsigned integer flag.  If the flag is 
1,
then the item is unpacked and appended to the list.  A flag of
0 indicates the end of the list.  unpack_item is the
function that is called to unpack the items.
 
- unpack_farray(n, unpack_item)
 - 
Unpacks and returns (as a list) a fixed length array of homogeneous
items.  n is number of list elements to expect in the buffer.
As above, unpack_item is the function used to unpack each element.
 
- unpack_array(unpack_item)
 - 
Unpacks and returns a variable length list of homogeneous items.
First, the length of the list is unpacked as an unsigned integer, then
each element is unpacked as in unpack_farray() above.
 
See About this document... for information on suggesting changes.