# 17 `xdrlib` -- XDR データのエンコードおよびデコード

`xdrlib` モジュールは外部データ表現標準 (External Data Representation Standard) のサポートを実現します。この標準は 1987 年に Sun Microsystems, Inc. によって書かれ、 RFC 1014 で定義されています。このモジュールでは RFC で記述されている ほとんどのデータ型をサポートしています。

`xdrlib` モジュールでは 2 つのクラスが定義されています。 一つは変数を XDR 表現にパックするためのクラスで、もう一方は XDR 表現からアンパックするためのものです。2 つの例外クラスが 同様にして定義されています。

クラス `Packer`( | )

  `Packer` はデータを XDR 表現にパックするためのクラスです。 `Packer` クラスのインスタンス生成は引数なしで行われます。

クラス `Unpacker`( | data)

  `Unpacker` は Packer と対をなしていて、文字列バッファから XDR をアンパックするためのクラスです。入力バッファ data を引数に与えてインスタンスを生成します。

参考:

RFC 1014, XDR: External Data Representation Standard
  この RFC が、かつてこのモジュールが最初に書かれた当時に XDR 標準でであったデータのエンコード方法を定義していました。 現在は RFC 1832 に更新されているようです。

RFC 1832, XDR: External Data Representation Standard
  こちらが 新しい方のRFCで、XDR の改訂版が定義されています。