Python 3.4 ではa85encode
andb85encode
関数 (および対応するデコード関数) が追加されました。
2つの違いは何ですか?ドキュメントには、「エンコーディングに使用される文字マップなどの詳細が異なります」と記載されています。、しかし、これは不必要に曖昧に思えます。
a85encode
文字マッピングを使用します。
!"#$%&'()*+,-./0123456789:;<=>?@
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstu
withz
は、4 つのゼロ バイト (の代わりに) を表す特殊なケースとして使用されます!!!!!
。
b85encode
文字マッピングを使用します。
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
!#$%&()*+-;<=>?@^_`{|}~
特別な略語はありません。
選択肢があれば、 を使用することをお勧めしますa85encode
。文字マッピングはすべての文字を ASCII 順序で使用するため、で実装するのは少し簡単 (かつ効率的) でC
あり、圧縮されていないバイナリ データでは一般的ではない、多数のゼロを含むデータを格納する際にわずかに効率的です。