11.18.2 Unpacker オブジェクト

Unpacker クラスは以下のメソッドを提供します。

reset (data)
与えられたdataで文字列バッファをリセットします。

get_position ()
Returns the current unpack position in the data buffer. データバッファに現在の復元した位置を返します。

set_position (position)
データバッファの復元する位置をpositionに設定します。 get_position()とset_position()の使い方には注意してください。

get_buffer ()
Returns the current unpack data buffer as a string. 現在の復元するデータバッファを文字列として返します。

done ()
復元が完了した状態を示します。 全てのデータが復元できないとき、Error例外を上げます。

加えて、Packerで圧縮できるすべてのデータ型はUnpackerで復元できます。 復元するメソッドは形式unpack_type()のもので、引数はありません。 復元されたオブジェクトを返します。

unpack_float ()
単精度浮動小数点数を復元します。

unpack_double ()
unpack_float()同様に倍精度浮動小数点数を復元します。

加えて、以下のメソッドは文字列、バイト、はっきりしないデータを復元します。

unpack_fstring (n)
固定長文字列を復元して返します。 unpack_type()は予想される文字数です。 仮定した4バイトのアラインメントを保証するため、ヌルバイトで詰めます。

unpack_fopaque (n)
unpack_fstring()同様、固定長のはっきりしないデータストリームを復元して返します。

unpack_string ()
可変長の文字列を復元して返します。 文字列の長さは、符号なし整数で最初に復元し、次に、 文字列データはunpack_fstring()で復元します。

unpack_opaque ()
unpack_string()同様、可変長のはっきりしないデータ文字列を復元し、返します。

unpack_bytes ()
unpack_string()同様、可変長バイトストリームを復元し、返します。

以下のメソッドは配列とリストの復元に対応します。

unpack_list (unpack_item)
同種の項目のリストを復元して返します。 まず、符号なし整数フラグを復元し、リストを1つの要素に復元します。 フラグが1のとき、項目を復元し、リストに追加します。 0のフラグはリストの終わりを示します。 unpack_itemは項目を復元するために呼び出す関数です。

unpack_farray (n, unpack_item)
同種の固定長の配列を復元して返します。 nはバッファにあると予想するリスト要素の数です。 先述のようにunpack_itemはそれぞれの要素を復元するのに使用する関数です。

unpack_array (unpack_item)
同種の可変長のリストを復元して返します。 まず、リストの長さは符号なし整数として戻し、次に、 それぞれの要素は先のunpack_farray()で復元します。

guido@python.org