ウィルコムストア

20 - 趣味のプログラム開発 : Perlの本を買った
投稿者: tosh 投稿日時: 2007-4-30 1:46:55 (22 ヒット)
20 - 趣味のプログラム開発

zcfファイルを変換するプログラムを作ろうと思い立ち、プログラミング言語にはPerlを使うと決めたものの、すっかり忘れてしまってました。言語そのものもそうですが、プログラミング言語の作法というか習慣というか、そっちを忘れたのがキビしい。
# ブログラミング言語によって、その言語らしい書き方というのがあるんですよ。

で、今更と思いつつ買った本。



高い

去年から、オライリーのPerlの本を合計8冊も買ってます。まだ買うかも。

今更Perlって気もしないでもないです。今時のWebのプログラミングは、クライアントサイドにJavascriptは必須で、サーバサイドはJavaかPHPを使うのが流行りだと思う。ワタシはこの3つの言語は使えません。人の書いたものをちょこっとhackするぐらいならやるけどね。
Perlもまだまだ使われてはいるし、廃れてはいないけど、流行りではないな。でも、ライブラリが一番充実していて、プラットフォーム非依存なプログラムを一番楽に書ける言語という点で優れていますね。Windowsだけなら、VBの方が楽なんだろうけど。
# ところで、C#って使ってるヤツいるのか???

もうすぐPerl6も出るし、いまさらPerl5って話もあるけど、ワタシはPerl6には移行しないと思う。Perl6を使うぐらいならRubyに行くかなぁ。Rubyだって10年以上歴史があるし、ライブラリも充実してきてるしね。

評価: 0.00 (0 投票) - 投票する - コメントする
20 - 趣味のプログラム開発 : zcfファイルのフォーマット その3
投稿者: tosh 投稿日時: 2007-4-10 1:16:19 (19 ヒット)


やっぱりZlibで圧縮されてました。圧縮ファイルを展開したらテキストファイルが出てくるかと期待したんですが、バイナリファイルでした。先は長い 。あと、文字コードはShift-JISになっているようです。今時はふつーUTF-8でしょ。しかも、data.nzxファイルは、圧縮前より圧縮後の方が大きい。やっぱりどうしてこんなフォーマットに変更したのかさっぱりわからん。

評価: 0.00 (0 投票) - 投票する - 続き... | 残り1138バイト | コメントする
20 - 趣味のプログラム開発 : zcfファイルのフォーマット その2
投稿者: tosh 投稿日時: 2007-4-6 22:33:34 (23 ヒット)

一筋縄ではいかないことがわかりました。

解析の方法としては、1つの図形をちょっとずつ変更して、変更前のファイルと比べるという方法を取ろうとしています。例えば、図形に付ける名前を最初aにして、図形出力。次にbにしてから図形出力。出力されたファイルを比較して、変更されたところが図形の名前とわかるハズなわけです。

ところが、図形の名前を1文字変更しただけでファイルの内容が大きく変わります。普通、こういうことが起こるのは、暗号化されているか圧縮されているかなわけです。まず、.zcfファイルがそんな風に大きく変わったので、16進ダンプを取ると先頭が50 4b(PK)で始まっていることから、.zip形式だとわかったんです。

で、.zipアーカイブの中身を見ると、また見たことない拡張子のファイルが現れます。.zcf, .nzx, .nziの3つのファイル。このうち.nzxファイルは図形の名前の変更前後で差がないので、おそらく今回変更しなかった緯度経度の座標が入っているものと考えられます。他の2つのファイルが問題で、また大きく変わるんですね。で、またファイルの先頭を見ると、今度は3つとも78 9Cで始まります。この2バイト、zlibによる圧縮データでよく使われるのだそうです。

perlでzlibを解くには、Compress::Zlibというライブラリがあるということまでは調べました。しかし、使い方がわからず。

圧縮ファイルの中身をさらに圧縮するなんて、何考えてるんでしょうか? > ゼンリン

評価: 0.00 (0 投票) - 投票する - コメントする
20 - 趣味のプログラム開発 : zcfファイルのフォーマット その1
投稿者: tosh 投稿日時: 2007-4-6 17:40:00 (20 ヒット)

Z9、このままでは使い物にならないので、図形出力ファイルのzcfファイルを、カシミール3Dでも読めるテキスト形式であるtrk形式にでも変換できないかと思ってます。それで、zcfファイルフォーマットの調査を始めてみました。今は、ピンを1個だけ作成してそれを出力しただけのファイルを調べています。

解析のために、簡単なperlスクリプトを書いたりしてるんですが、もうすっかり忘れてしまってます 。そういや、何年もプログラム書いてない。

・.zcfファイルは実はzip形式でアーカイブされた、いくつかのファイルで構成されているようです。
・拡張子を.zipに変更してから解凍すると、以下のファイルが入っていました。

- foo.zcf
- foo.ico → 拡張子から、ピンのアイコンのようです。
- data.nzx
- fig.ini → 更新の可否が書かれたテキストファイルです。
- index.nzi
- layinfo.ini → 最終更新日時が書かれたテキストファイルです。

引き続き、何かわかったら書きます。

しかし、どうしてこんな変なバイナリファイル形式に変更するんだろ? 普通は古いファイル形式と互換性を持たせるか、全然違う形式だとしたら今はxmlにするのが流行り。今さら独自形式のバイナリファイルを採用するなんて意味わかりません。

評価: 0.00 (0 投票) - 投票する - コメントする
 プロフィール画像

食事中のtoshのイラスト

プロフィール このサイトについて
 検索
 google search
 
Web toshswebsite.com
 メインメニュー
 物欲
 ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
 アクセスカウンタ
今日 : 180180180
昨日 : 191191191
総計 : 204037204037204037204037204037204037
平均 : 186186186
 Amazon商品紹介
改訂新版 基礎PHP

  (インプレス) 
改訂新版 基礎PHP

2006/02/03 (tosh)
秘境駅へ行こう! (小学館文庫)

  (小学館) 
秘境駅へ行こう! (小学館文庫)

2005/02/14 (tosh)
ウィルコム『W-ZERO3』ファイナルガイド (エンターブレインムック)

  (エンターブレイン) 
ウィルコム『W-ZERO3』ファイナルガイド...

2006/03/26 (tosh)
 Google adSense
 Firefox
Mozilla Firefox ブラウザ無料ダウンロード
Powered by XOOPS Cube 2.0 © 2001-2007 The XOOPS Project
:: XOOPS2 theme by PetitOOps ::