TouchJW v2で読めないファイル….の正体は

メール添付のファイルが読めない。というお話でして

一旦、Jw_cadで読み込んで書き出すと何故か?
読める?という不思議な現象

ということで、メール添付のJwwファイルを送ってくださいということで調査した。

結論、どうもJacConvertというソフトで生成したJwwデータファイルが変である。

バイナリで比べてみると「CDataList」の後が数バイト一致しない、一致しない内容が読めない原因だったのであろう。

なので、JacConvertでもCDataListを吐かないデータなら問題なく読める。

ところで、

まず、不思議であるが、JacConvertではファイルの継ぎ目に入っているファイルバージョンの数値がなんと「&H0000」である。なんで?

そして、バイナリを二つ並べて、チェックする。

JwwよりもJacConvertのバイナリのほうが CDateの手前で6bytes多い、これらは&H00が6つある、そして、CDateの後になぜか?NULLが二つ、入っている。

ということで、CDateを読みに行って4byte読んで、&H0000かを調べる。そしたら2Byteから読みしてから、CDateを読む、そして、4BytesのNULLを読む。そして元通りの処理を続ける。

みたいかな感じで、無事に読めています。

Jwwを吐くプログラムもたくさんあるので、それぞれに対応させるのも大変だ。ということで、でも、なぜか?Jw_cadでは読めている?MFCの関係かな?

Leave a Reply