- - PR -
テキストデータをバイナリデータに変換する方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-29 19:10
『テスト』の文字が入っているテキストファイルからデータを読み出し、
『テスト』の文字をバイナリデータに変換して、別のファイルを作成する といったプログラムを作成しなくてはいけないのですが、 さっぱり検討がつきません。 サンプル等ありましたら、是非教えていただきたいのですが。 よろしくお願いいたします。 | ||||
|
投稿日時: 2005-01-29 19:23
バイナリを printable-char のみを使ってテキストファイルにするというのなら理解できるけど、テキストファイルをバイナリファイルにしたい、というのはかなり意味不明です。
とりあえず、copy test.txt test.bin でいいんじゃないですか? | ||||
|
投稿日時: 2005-01-29 19:36
バイナリファイルにしたいのではなく、
データをバイナリに変換したいということです。 表現がヘタで申し訳ありません。 | ||||
|
投稿日時: 2005-01-29 20:10
'0' と '1' のふたつの文字だけから構成される バイナリ(2進)表現のテキストにしたいってこと?
| ||||
|
投稿日時: 2005-01-29 20:30
数値化したデータをファイルに書き込むってことです。
(わかりますか?表現がいまいちですね) ちなみに言語はC#です。 | ||||
|
投稿日時: 2005-01-29 20:38
はい、わかりにくいです。
それに気付いているならもっと分かりやすく表現して下さい。 ところでテキストファイルもバイナリエディタで開けば 数値化したデータとして見る事ができます。 というかこれがファイルの実体です。ファイルそのものにテキストもバイナリもありません。 この数値化したデータを具体的にどういうように変えたいのでしょうか? | ||||
|
投稿日時: 2005-01-29 20:56
ほんとに申し訳ないです。
DELPHIでいえば、以下の記述になります。 TF: TextFile; F: File; S: String; inLoop: Integer; byBuf: Byte; pszChr: array[0..1] of Char; pszWBuf: array[0..1024] of Char; pszBuf: array[0..1024] of Char; inWriteByte: Integer; begin AssignFile(TF, Edit1.Text); AssignFile(F, Edit2.Text); try Reset(TF); ReWrite(F); while not EOF(TF) do begin Readln(TF, S); ZeroMemory(@pszChr, SizeOf(pszChr)); for inLoop:=1 to Length(S) do begin StrPCopy(pszChr, Copy(S, inLoop, 1)); byBuf := Byte(pszChr[0]); BlockWrite(F, byBuf, 1); end; byBuf := $0D; BlockWrite(F, byBuf, 1); byBuf := $0A; BlockWrite(F, byBuf, 1); end; finally CloseFile(F); CloseFile(TF); end; 読み込んだデータを数値化し、数値そのものを 書き込むって感じです。 | ||||
|
投稿日時: 2005-01-29 21:55
一番最初の発言の『テスト』を
書き込んだファイルをバイナリエディタで見たら、 どうなっていればあなたの望みどおり(やりたいこと)に なるのかを示せば話が早いのでは。 (記入例- 数字は出たらめ 16進表記でバイナリエディタで見ているとする) 0F 35 24 56 |