あとでよく読む。
- バイナリシリアライズ形式「MessagePack」 - Blog by Sadayuki Furuhashi
- http://code.google.com/intl/ja-JP/apis/protocolbuffers/
- バイナリファイル形式パーサージェネレータが欲しい - 言語ゲーム
- バイナリファイルパーサジェネレータが難しい理由 - .mjtの日記復帰計画
仕事で、バイナリ形式で通信する部分にたずさわっていて、オブジェクトに格納したデータをバイナリ形式にして送信したり、バイナリ形式のデータを受信してオブジェクトに復元したりするわけですが…。
要は、オブジェクトのシリアライズ/デシリアライズ。
で、これがとにかくめんどくさい。言語はC++。言語のサポートは皆無に等しく。
おまけに手元にあるコードはバイナリ形式へ/からの変換と、データを処理する部分が一緒の関数の中に書かれていて、これまたいっそうめんどくさいことになっている。
特にめんどくさいのがデシリアライズ…バイナリ形式からオブジェクトへの変換。
いい方法はないものかと、コードを書いてみたりして考えていたところ。「つまりこれってパーサ?」ということに気がつきまして。
あらためて検索してみると、いろいろ出てくる。というか、もっと出てきてもいいようなきがするのだけれど。
とりあえず、これは!と思ったものを忘れないようにメモ。