昔(199x年頃)、インターネットやそれより前のJUNETなどを使用していた方の中には、メールやニュースでバイナリファイルを送信ために、uuencode, uudecode(uudxやuuexなど)を使って、画像ファイルやプログラム、圧縮ファイルなどの「バイナリーファイル」をASCII文字の「テキスト」に変換して、メール本文に貼り付けて、何通にも分けて送るということをしていた人も多いと思います。
このご時世、そんなことをしなくても、メールに"ひょい"っと添付すればいいのですが、セキュリティーの都合上、添付ファイルの送信を制限されている企業も増えてきています。そんな時、どうしても、ファイルを送らなければいけない事情があるとき、困ってしまうことがあると思います。
昔を知っている人は、「uuencode」「uudecode」などのASCII文字にエンコードしてくれるコマンドがあれば・・・と思いますが、最近ではソフトウェアがパソコンへ自由にインストールできないケースも増えてきています。
そんなとき・・・実はWindowsで標準で入っているコマンドで実現できます。certutil というコマンドで「バイナリーファイル」をASCII文字の「テキスト」に変換できます。
具体的には、エンコードした「テキスト」を「メール本文にCOPY&PASTEで貼り付けて送信」し、そして、「受信したメール本文からCOPY&PASTEで、テキストファイル」に保存し、保存した「テキストファイル」から元の「バイナリーファイル」に戻すことができます。
今回は、その方法をご紹介します。(2021.4.2)
「certutil」というコマンドを使用します。BASE64のエンコード・デコードで使用するコマンドです。ファイル名からわかるように、電子証明書関係のコマンドとなります。
・エンコードのコマンド
> certutil -f -encode [Input
filename] [Output Filename]
・デコードのコマンド
> certutil -f -decode [Input
Filename] [Output Filename]
これを見ただけでわかる人は、以上で説明終わり!となります。
ただ、コマンドだけ見せられたってわかるかよ!!ということですので、具体的に細かく記載いたします。
例えば、以下の「亀石」の写真(こちら:kameishi.jpg)をASCIIテキストに変換したい場合は、
コマンドプロンプトを開いて
※管理者権限が必要なフォルダで作業する場合は右クリックで、「管理者権限」で起動してください。
C:\ に画像ファイル(kameishi.jpg)がある場合を例に、エンコードする例に説明します。
カレントフォルダ を、C:\ へ移動して(> cd \)
コマンドを打ち込みます。
certutil -f -encode kameishi.jpg aaa.txt
と打ち込みます。
そうすると、謎の文字列(ASCII文字)でできた「aaa.txt」というファイルが出来上がります。(これです ⇒ aaa.txt)
中身はこんな感じです。画像ファイルが、ASCII文字に変わりました。
ずーっと続いています。
このテキストファイルの文字列は、メールの本文に貼り付けることができます。
大きいファイルの場合は、1通のメールで送ることができない場合があるため、その場合は、分割して、何通かに分けて送ります。
(手動での添付ファイルの作業を行うイメージです)
受信したメールから、本文をCOPY&PASTEして、テキストファイルに保存します。
適当な名前のテキストファイル(形式は、SHIFT-JIS でいいです)を作って、貼り付けます。
例えば、temp.txt という名前のファイルを作って、そこに受信した本文を貼り付けします。
certutil コマンドを打ち込んでファイルに戻します。
例えば受信した文字列を、D:\temp.txt という名前のファイルに貼り付けて保存した場合、
コマンドプロンプトを起動して、
certutil -f -decode temp.txt output.jpg
を打ち込めば、output.jpg というファイルが出力されます。
※複数ファイルに分けた場合は、戻すときに、貼り付けの順番がわからなくならないように、気を付けてください。
これが復元した写真(output.jpg) です。もちろん元と同じです。
この時、出力するファイル名は自由に指定できるのですが、拡張子を含めて、きっちり指定する必要があります。
例えば、元のファイルがZIPファイルの場合、.zip , 画像ファイルの場合は .jpg という具合に、ファイル名を拡張子まで含めて指定します。
おすすめなのはZIPファイルをに圧縮してから、テキストにエンコードすることです。
デコードして、復元したZIPファイルを解凍することで、元のファイル名やフォルダ構成も復元できます。
添付ファイルの送付ができず、困ったときは、一度お試しください。
以上です。