# 18.13. `binhex` --- binhex4 形式ファイルのエンコードおよびデコード

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

注釈

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

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

`binhex.``binhex`(input, output)

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

`binhex.``hexbin`(input[, output])

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

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

exception `binhex.``Error`

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

参考

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

## 18.13.1. 注釈

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

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

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