FrontPage 新規 編集 検索 一覧 ヘルプ

SO505i

iモード携帯電話 SO505i関連のメモです。

赤外線通信で画像をパソコンに送る

実験した環境は、Windows98SEです。

受信したデータは、私の環境では、C:\My Received Filesの中に保存されました。ファイルの拡張子は、.vnt となっています。調べてみるとBASE64でエンコードされているようで、デコードして元のJPEGに戻す処理が必要になります。

単純な変換なのでPerlで書いてみました。本来なら、ヘッダ情報を見て拡張子などを判断してファイルを復元すべきなのでしょうが、JPEGに変換したいだけなので省きました。

 #!/usr/bin/perl -w
 # vnt2jpg - *.vntファイルを*.jpgに変換する
 use strict;
 use MIME::Base64;
 
 my $input_file  = 'C:/My Received Files/mypic.vnt';
 my $output_file = 'mypic.jpg';
 my $flag = 0;
 
 open(RF, $input_file) or die;
 open(WF, '>'. $output_file) or die;
 binmode(WF);
 while(<RF>){
     $flag = 1 if(s/^X-DOCOMO-BODY;ENCODING=BASE64://);
     $flag = 0 if($_ eq "\n");
     s/\n//;
     if($flag){
          my $decoded;
          $decoded = decode_base64($_);
          print WF $decoded;
     }
 }
 close(WF);
 close(RF);

コメント - 自由に書き込んでネ

{{comment}}

Yesterday Today Total