- ベストアンサー
テキストファイルやGIF動画を教えてください。
プログラミングの勉強を始めたのですが、テキストファイルのデータの構成やGIF動画の原理から作成方法、データの構成や動画の容量などについて初心者向けの参考書を探しているのですがなかなか見つかりません。 どなたかお奨めの参考書を教えていただけないでしょうか。 PCのOSはWindows7です。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
テキストデータは、ただ文字コードが羅列されているだけの、ファイルです。 文字コード体系が何かは、書かれていませんので、自分のプログラムではいずれかに決め打ちするか、外部データを扱うものでは、ある程度ファイルを読んで自動判別するとかしないといけません。 (文字コード体系→xシフトJIS、JIS(ISO-2022-JP)、EUC、UTF 等) 文字コード体系により、1文字は1バイト~4バイトにまでなる可能性がありますし、JISでは「エスケープシーケンスによりアルファベットと漢字を切り替える」事になっているので、漢字1文字で8バイトも使ってしまったりします。(「ここから漢字(3バイト)」「漢(2バイト)」「ここから英数字(3バイト)」) まあ自分のプログラムでは、「シフトJIS」だとか「UTF-8」だとかに決めてしまうのが、簡単でしょう。 ---- GIF画像のデータ構造は、例えばこちら。 >GIFフォーマットの詳細 >http://www.tohoho-web.com/wwwgif.htm GIF動画は、まず、「GIF画像」という、画像データ+色パレットの1枚絵が、基本です。 このGIF画像が、何枚も、場合によっては何十枚も、結合されているだけの、データです。 それが、順番に1枚目から表示されていきます。(次の絵を表示するまでの時間を、ミリ秒単位で指定できるので、アニメーションして見えます。 ※ただしブラウザにより最小ミリ秒数が決められていて、それより早は表示できません ただまあさすがに、全コマ全画面のデータを持っていては効率が悪いので、透明色を応用した差分画像を作ったり、変化している部分だけ「この位置から、この部分だけの画像」の画像を持っている場合があります。 ---- テキストにしても、GIFにしても、普通に扱うものですから、普通はライブラリを通して、扱います。 自分でデータを1バイト1バイト取り出し、データ構造にしたがって再構成し、画像再現しなくても、 (1)GIF画像のデータを与えて(2)この位置に表示、とすれば、出来てしまいます。 まあ、勉強のためにデータ解析してみるのは、良いことです。 ただ、GIF画像にはLZWデータ圧縮方式が使われているので、そこまで組もうとするとちょいと面倒ですよ。 (LZW圧縮データから元のデータ列を取り出す、と言う部分は、ライブラリ使うとか。)
お礼
さっそく回答をしていただきありがとうございました。 また、非常に丁寧な回答をありがとうございました。 この回答を参考にして考えてみます。