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