Python3
でのuuencode
についてのメモ
uuencode
自体は、
uuencode - Wikipedia
を参照。 要約すると、BASE64
のように、主にバイナリデータをテキスト(ASCII文字列)で表現する形式。
テキストデータを変換することももちろんできる。ここでは、文字列をinput1.txt
として試した。
Python
で扱うときは、uu
モジュールを利用する。
19.10. uu — uuencode形式のエンコードとデコード — Python 3.6.5 ドキュメント
import uu
if __name__ == "__main__":
uu.encode('input1.txt', 'output1.txt')
上のスクリプトとinput1.txt
を用意して、実行すると、
エンコードされて次のような出力(output1.txt
)が得られる。
begin 644 input1.txt
M26UA9VEN871I;VX@:7,@=&AE('!O=V5R('1H870@8V%N(&)E('1O;&0@=&\@
';W1H97)S+@
end
逆に戻すときは、uu.decode
を利用する。
import uu
if __name__ == "__main__":
uu.decode('output1.txt', 'dec1.txt')
# uu.decode('output1.txt')
コメントアウトのように、出力ファイルは指定しなくてもいい。begin
行を読み取って作成してくれる。
上のスクリプトとoutput1.txt
(先ほどの出力)を用意して、実行すると、
デコードされ、元の文字列が出力される。
Imagination is the power that can be told to others.
コメント