プロが教える店舗&オフィスのセキュリティ対策術

STL形式のフォーマットについての質問です。
STLローダをプログラミング中なのですが、バイナリ形式か、テキスト形式かの判別方法で悩んでいます。この情報はヘッダの情報から読み取れるのでしょうか?どのようにして判別可能でしょうか?それともファイル内容自体から、判別する必要があるのでしょうか?

よろしくお願いします。

A 回答 (1件)

拡張子".STL"は他の種類のファイルでも使われているので


最終的にはファイル内容から判断するしかありませんが
テキスト形式の場合頭は[solid]と決まっています。
バイナリ形式の場合の頭は任意となってますのが
ヘッダに書かれているパッチ数をnとすると
ファイルサイズは50*n+84バイトです。

自分なら・・・ですが
(ファイルサイズ-84)/50で余りがなく
 パッチ数を読み込んで計算が合えばバイナリ形式
その他の場合、最初の5charが[solid]ならテキスト形式
さらにその他の場合、拡張子が".STL"なだけのファイル
と判断します。
    • good
    • 0
この回答へのお礼

なるほどパッチ数とファイルサイズで判定ですね!実はバイナリ形式の頭もsolid となっている場合が非常に多くて、この項目だけでは判定できず困ってました。大変貴重なご意見ありがとうございました。

お礼日時:2009/09/12 10:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!