【初心者】スレを立てる前にココで質問を【Part20】at GAMEDEV【初心者】スレを立てる前にココで質問を【Part20】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト73:名前は開発中のものです。 09/10/10 05:28:56 rCisCYzo >>72 テキスト・バイナリってのは解釈の問題で、本質的にはどちらも同じデータの列だよ。 おそらく、データの圧縮を目指しているんだろうけど、 バイナリ化して0~255まで全部使おうと思った場合、終端子の区別が付かなくなります。 そのため、データの区切りという概念を捨てて、固定長フィールドに読み込んだ方が良いです。 文字列であれば、文字列長+文字列、というデータ形式にしておく。 次に、バイナリ形式のメリットについてですが、文字オンリーのものを圧縮したいと考えた場合は、 素のデータを扱うよりも、zipか何かで圧縮する方法を考えた方がいいです。 74:名前は開発中のものです。 09/10/10 06:29:21 YtPBh4Ct >>72 サイズのメリットはあまり意味はないね 今はHDDもメモリも足りなくなることはそうそうないので、考えられるのはHDDへのアクセスラグくらいで、 それもゲーム中に10MBを超えるファイルを頻繁に読んだりするような場合でなければ、バイナリにするサイズのメリットはない 直接的な違いはテキストエディタで閲覧・編集可能かどうかかな たとえばwidowsのiniファイルはシステムでも使用するが、テキストファイルなのでユーザーでも編集可能 これがバイナリだと見たり編集したりするのはちょっと面倒になる ゲームの場合は見られたくないデータのときにバイナリ化(加えて暗号化)したりする 他にはメモリイメージを保存したいときなどはバイナリだとそのまま扱えるので使うことも多い(BMP画像とか、クラスのシリアライズなど) バイナリファイルの場合の区切りの方法は>>73も触れてるけど、固定長フォーマットにするか、サイズ+データなどの可変長の方法がある 固定長はファイルの途中からでも読めるのでランダムアクセスに強い半面、プログラムから書き換えを行う場合はファイルへのデータ格納効率が悪くなることがある 逆に可変長だとデータの格納効率がよい半面、シーケンシャルに最初から読まないといけないのでランダムアクセスが必要な場合は向かない いいとこどりで、可変長フォーマットにインデックスを付けて途中からでも読めるようにする方法もあるが、上の方法に比べ処理が複雑になる などのそれぞれの特性を考慮してどうやって保存するかを決める 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch