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.


コメント