
:mod:`binhex` --- binhex4 形式ファイルのエンコードおよびデコード
================================================================

.. module:: binhex
   :synopsis: binhex4 形式ファイルのエンコードおよびデコード。


このモジュールは binhex4 形式のファイルに対するエンコードやデコード\
を行います。binhex4 は Macintosh のファイルを ASCII で表現できる\
ようにしたものです。Macintosh 上では、ファイルと finder 情報の両方\
のフォークがエンコード (またはデコード) されます。他のプラットフォーム\
ではデータフォークだけが処理されます。

.. note::

   Python 3.0 で特別な Macintosh サポートは削除されました。


:mod:`binhex` モジュールでは以下の関数を定義しています:


.. function:: binhex(input, output)

   ファイル名 *input* のバイナリファイルをファイル名 *output* の binhex
   形式ファイルに変換します。 *output* パラメタはファイル名でも
   (:meth:`write` および :meth:`close` メソッドをサポートするような)
   ファイル様オブジェクトでもかまいません。


.. function:: hexbin(input[, output])

   binhex 形式のファイル *input* をデコードします。
   *input* はファイル名でも、 :meth:`write` および :meth:`close` メソッドを\
   サポートするようなファイル様オブジェクトでもかまいません。
   変換結果のファイルはファイル名 *output* になります。
   この引数が省略された場合、出力ファイルは binhex ファイルの中から復元されます。

以下の例外も定義されています:


.. exception:: Error

   binhex 形式を使ってエンコードできなかった場合 (例えば、ファイル名\
   が filename フィールドに収まらないくらい長かった場合など) や、入力\
   が正しくエンコードされた binhex 形式のデータでなかった場合に送出\
   される例外です。


.. seealso::

   :mod:`binascii` モジュール
      ASCII からバイナリ、およびバイナリから ASCII への変換をサポートするモジュール。


.. _binhex-notes:

注記
----

別のより強力なエンコーダおよびデコーダへのインタフェースが存在します。
詳しくはソースを参照してください。

非 Macintosh プラットフォームでテキストファイルをエンコードしたり\
デコードしたりする場合でも、古い Macintosh の改行文字変換 (行末をキヤリッジ\
リターンとする) が行われます。

このドキュメントを書いている時点では、 :func:`hexbin` はいつも正しく\
動作するわけではないようです。

