• 締切済み

バイナリーデータをテクストデータに変換するためのリファレンスを教えてください

ponntaの回答

  • ponnta
  • ベストアンサー率17% (31/179)
回答No.1

これだけでは何のしたいのかチョット判りかねますが・・・ 例えば、単にテキストのデータがdatという拡張子で保存されているのであれば拡張子を変更すればですし、 テキストエディタで読めないデータならば、バイナリファイルのデータのフォーマットを正しく知らなければちゃんとした値は得られないですよね。 取り合えずファイルダンプのようにバイト単位の値をテキストで読めるようにしたいのなら、データを文字列に変換してファイルに出力すればいいんじゃないでしょうか? 変換方法としては Hex または CStr を使えば良いと思います Dim moji As String Dim data As Byte data = 25 <――数値の25 moji = CStr(data) <――25という文字列に変換 と書けば文字列の"25"がmojiにえられます。 16進数にしたいときは moji = Hex(data) <――19という文字列に変換 と書けば文字列の"19"がmojiにえられます。 あとは見やすくなるように区切や改行を入れながらファイルに出力すれば一応テキストで読める形になりますが・・・

関連するQ&A

  • Cでバイナリデータを変換

    今持っているバイナリファイルfile1.x86をテキストファイルfile1.txtに変換したいんですけどうまくいきません。fopenとfreadでバイナリファイルを読み込むところまで入っていると思うんですけど、テキストファイルとして書き出すことができません。 #include <stdio.h> main() { short a[32000]; FILE *infile, *outfile; infile = fopen("iroha.x86", "r"); outfile = fopen("iroha.dat", "w+"); fread( a, sizeof(short), 32000, infile ); fwrite( a, sizeof(short), 32000, outfile ); fclose(infile); fclose(outfile); } これだとそのまんま出力されるんです。当たり前なんですけど... どこをどう変えればいいか教えてください。 よろしくお願いします。

  • 画像をバイナリデータに変換する方法

    ディレクトリ内にある『.gif』の画像~枚を 100kb単位でバイナリデータに変換して 『.dat』という拡張子で出力させたいと思っています。 Perlをふれた事はあまり無く、何から手を付ければ良いのかいまいちつかめません。 『.gif』を100kb単位でバイナリデータに変換する方法など、知っている方いましたら御教授お願い致します。 宜しくお願いします。

    • ベストアンサー
    • Perl
  • バイナリデータをテキストデータに変換

    生データ(バイナリデータ)をテキストデータに変換するプログラムを教えてください。

  • TXTで作成したファイルをDATファイルに変換

    まだ初心者なので教えて下さい。 AccessでエクスポートしたTXTファイルをDATファイルに変換する方法を教えて下さい。 また、Accessで直接DATファイルでエクスポート及びインポートは出来ないのでしょうか。

  • バイナリデータをテキストファイルに出力したい

    以下のソースファイル(test.c) が、 バイナリデータをテキストファイルに するものらしいのですが、 ファイル名(例えば bi.dat)を指定する方法が わかりません。 C++は勉強し始めたばかりで 詳しくありません。 よろしくお願い致します #include <stdio.h> int main( int argc, char *argv[]) { FILE *fpIn; FILE *fpOut; short snData; if( argc < 2) { printf("ファイル名を入れてください。"); return -1; } fpIn = fopen( "argv[1]" , "rb"); if( fpIn == NULL) { printf("入力ファイル %s を開けませんでした。", argv[1]); return -2; } fpOut = fopen( "output.txt", "w"); if( fpOut == NULL) { printf("出力ファイル output.txt を開けませんでした。"); fclose(fpIn); return -3; } while( fread( &snData, sizeof(short), 1, fpIn) == 1) { fprintf( fpOut, "%d\n", snData); }; fclose(fpIn); fclose(fpOut); return 0; }

  • N88BASICのバイナリデータをテキストに変換

    N88BASICで作成したプログラムを読みたいのですが、バイナリで保存しており、現在のWindows環境(Windows2000)では読めません。 N88BASICのバイナリデータをテキストデータに変換する方法を知っている方がいらっしゃれば教えてください。 有料で取り扱ってくれるところはあるようなのですが、できればタダで変換したいなぁと考えています。 テキスト形式(アスキー?)に変換できればよいだけです。Windowsで動くようにする等は、既に知っていますので。。。 よろしくお願い致します。

  • 取り込んだtxt.のデータを変換したい

    取り込んだtxt.のデータを、exel.に変換すると同時に、txt.の中の言葉を、exel.に変換した後のフォルダの名前にするにはどうしたらいいですか?? この2つの動作を同時にできるマクロ?があったら教えてください!!

  • ワードでテキスト変換したい

    ワードで打ったものをテキスト変換したいのですが、「名前を付けて保存」で「*.txt」という物が出てきません。 Office XPです。 やり方を教えてください。

  • テキストデータをバイナリデータに変換したい

    テキストファイルに以下のデータがあるとします。 テキストデータの中身、 「 000E6D4181AA,1234567890ABCDEF 0123456789AB,0100000000000000 050505AAAAAA,0200000000000000 070707BBBBBB,0300000000000000 012345CCCCCC,0400000000000000 cdef01DDDDDD,0500000000000000  ・  ・  ・ 」 12桁の数値(16進数)と16桁の数値(16進数)を「,」で区切ります。1行の終端は改行しています。 このテキストファイルにあるデータを以下のバイナリ形式に変換させたいのです。バイナリ形式の各行の16バイト目は、テキストデータにはデータがないので、「00」とします。「,」で区切ったバイナリ形式は「2C」になると思います。 テキストデータの左上から順に「00」は以下の、左上から順の「00」に対応します。 バイナリデータの中身、 「 00 0E 6D 41 81 AA 2C 12 34 56 78 90 AB CD EF 00 01 23 45 67 89 AB 2C 01 00 00 00 00 00 00 00 00 05 05 05 AA AA AA 2C 02 00 00 00 00 00 00 00 00 07 07 07 BB BB BB 2C 03 00 00 00 00 00 00 00 00 01 23 45 CC CC CC 2C 04 00 00 00 00 00 00 00 00 CD EF 01 DD DD DD 2C 05 00 00 00 00 00 00 00 00  ・  ・  ・ 」 ソースコードでの例、 テキストデータ1行目の1つ目の「,」までのデータ「000E6D4181AA」を、メモリ領域に読み込む。2桁の数値を1バイトで格納する。 つまり、 char buf[6]とすると、 buf[0]=0xAA buf[1]=0x81 buf[2]=0x41 buf[3]=0x6D buf[4]=0x0E buf[5]=0x00 とこのようにメモリに格納したいのです。 格納するバイトオーダーはリトルエンディアン方式とします。 以上で、質問を終わりますが、質問が上手くできていないと思いますので、説明に不備があるかもしれません。その時はお手数ですが、連絡下さい。

  • 添付データをtxtデータに変換するには?

    メールで文章を送りたいのですが、「txtデータ」でと書いてあり、やり方がわかりません。 普通に添付してはいけないんですよね? txtデータにどうやって変換するんでしょうか? 教えてください。