11.17 組み込みモジュールbinascii

 

binasciiモジュールにはバイナリといろいろなアスキーコードで符号化された バイナリ表現の間で変換するいくつかのメソッドがあります。 通常、これらのモジュールを直接使用できません。 しかし、uu のようにラッパモジュールは使えます; hexbin  代わりに、大きなデータのビット操作はpythonでは遅いため、このモジュールは単独になっています。

binascii モジュールは以下の機能を定義しています。

a2b_uu (string)
符号化されたデータの1行をバイナリへ変換し、バイナリデータを返します。 最後の行を除いて、正常な行には45バイトのバイナリデータがあります。 行のデータはwhitespaceの後にあります。

b2a_uu (data)
バイナリデータをASCIIコードの文字の行に変換します。 返される値には改行を含む変換された行です。 dataの長さはほとんど45バイトです。

a2b_base64 (string)
base64のデータのブロックをバイナリに変換し、バイナリデータを返します。 1行以上が一度に渡されます。

b2a_base64 (data)
バイナリデータをbase64で符号化された1行のASCII文字に変換します。 返される値は改行文字を含む変換された行です。 dataの長さはbase64標準に沿っていてほとんど57バイトです。

a2b_hqx (string)
binhex4のデータをRLE分解するのでなく 書式化されたASCIIのバイナリデータに変換します。 文字列はたくさんの正しく変換されたバイナリのバイトを含みます。 (binhex4データの最後の部分では) 残りのビットは0になります。

rledecode_hqx (data)
Perform RLE-decompression on the data, as per the binhex4 standard. The algorithm uses 0x90 after a byte as a repeat indicator, followed by a count. A count of 0 specifies a byte value of 0x90. The routine returns the decompressed data, unless data input data ends in an orphaned repeat indicator, in which case the Incomplete exception is raised. binhex4標準によりデータをRLE分解します。 このアルゴリズムは繰り返しのバイト(符号)として0x90を使用し、その後にカウントがきます。 カウント0はバイトの値 0x90を表します。 ルーチンは分解されたデータを返します。 繰り返しで処理しているうちに入力データがなくなると、 その場合にはIncomplete例外となります。

rlecode_hqx (data)
dataをbinhex4型RLE圧縮し、その結果を返します。

b2a_hqx (data)
hexbin4バイナリからASCII変換を実行し、その結果の文字列を返します。 引数は既にRLE符号化されたもので、(場合によっては最後の部分を除いて) 3で割り切れる長さになっています。

crc_hqx (data, crc)
Compute the binhex4 crc value of data, starting with an initial crc and returning the result. dataについてbinhex4のcrcの値を計算します。 初期値crcではじめ、結果を返します。
Error
エラーがあったとき例外が発生します。これは通常プログラムエラーです。

Incomplete
不完全なデータで例外が発生します。通常プログラムエラーではありません。 ほんの少しのデータを読み込んでいるのであれば、もう一度試みて下さい。

guido@python.org