DOBON.NET DOBON.NETプログラミング掲示板過去ログ

オブジェクトをシリアル化した結果について

環境/言語:[C# .NET Framework2.0]
分類:[.NET]

こんにちは。はじめまして。

シリアル化した結果について知りたいです。

C#(.NET Framework2.0)を用いて
BinaryFormatter.Serialize()メソッドにより、
オブジェクトをストリームに書き出します。
書き出したバイト配列がどのような構造になっているのか
確認したいと考えています。

クラスの名前やメンバの名前、値などが入っていることは、
バイト配列をダンプすることで何となくわかります。
しかし、情報の並び方やその他のバイトについて詳細がわかりません。

BinaryFormatter.Serialize()メソッドにより
どのような構造で書き出されるか、
という仕様は公開されていないのでしょうか。

Javaではオブジェクト直列化仕様として公開されているようです。
http://java.sun.com/j2se/1.3/ja/docs/ja/guide/serialization/spec/serialTOC.doc.html

Microsoft独自の仕様なのでしょうか?
それとも標準化されていたりするのでしょうか?

ご存知の方がいらっしゃいましたら教えてください。
よろしくお願いいたします。
■No19299に返信(taakさんの記事)
> 書き出したバイト配列がどのような構造になっているのか
> 確認したいと考えています。

目的は何ですか?
「ちゃんと書かれていることを確認したい」なら、デシリアライズしてちゃんと読めればいいでしょう。
「他のアプリがシリアライズしたファイルを読み込みたい」とかなら、激しくお勧めしません。

> Microsoft独自の仕様なのでしょうか?
> それとも標準化されていたりするのでしょうか?

どうでしょうねぇ。
#Monoの実装とかどうなってんだろうか。
返信ありがとうございます。

■No19307に返信(シャノンさんの記事)
> 目的は何ですか?
> 「ちゃんと書かれていることを確認したい」なら、デシリアライズしてちゃんと読めればいいでしょう。
> 「他のアプリがシリアライズしたファイルを読み込みたい」とかなら、激しくお勧めしません。
>
当初は、シリアル化されたデータを使用する際の
セキュリティについて調べたく仕様を探していました。

今は調べる必要はなくなったので、そこから離れて
探しても仕様が見当たらなかったので、
ただ単に、(みつけられなかっただけで本当は)あるのか
それともないのかを知りたく、
質問させていただきました。

遠まわしな言い回しですいません。
シリアライズしたファイルを
読みたいということが目的ではないです。

DOBON.NET | プログラミング道 | プログラミング掲示板