*

[C#]BinaryFormatterなどSerializerいろいろ書いておく

公開日: : C#

github始めました -> わなびのgithub

それは置いておいて、BinaryFormatterとDataContractSerializer(XML)、DataContractJsonSerializerのシリアライズ化されたファイルの容量と、シリアライズの速度を調べたくなったので、試してみます。

ソリューションははこちら → シリアライズ関係

それぞれBinaryFormatter,DataContractSerializer,DataContractJsonSerializerのSerializeです。BinaryFormatter以外は別アセンブリで読めるよ、ということでDeserializerも別ソリューションで。

ここには一例としてJsonでのSerializeを載せておきます。

JSONでシリアライズ

こんな感じでシリアライズ。
ファイルを見るとabcが並んでいます。

JSONの場合はNamespace的な何かは無いのでよいのですが、DataContractSerializer(XMLのシリアライザ)を使うときは余計なNameSpaceを省くために以下のように [DataContract(Namespace=””)] としておきます。

んで、結果はというと、BinaryFormatterもDataContractSerializerもファイルのサイズはほぼ一緒。
BinaryFormatterの中身を見ると、プレーンテキストはそのままプレーンテキストで持っているんですね。
Binaryで変換でもかけて圧縮しているのかと勘違いしてました。

アセンブリが異なる場合はBinaryFormatterでなくて、DataContractSerializerの方がよさげですね。

ad

関連記事

wannabenote

[Excel, C#]C#でExcelの値の変更イベントを取得する。

Excelのイベント取得 処理の流れ 対象のワークシートを取得する。 イベントハンドラ

記事を読む

unity debug

[Unity]MonoDevelopのデバッグの仕方

コメントで頂いた質問を打破するためにデバッグの仕方でも書いてみます。 まずは、プロジェクトを開

記事を読む

Registry レジストリ C# .NET

[.NET, C#]レジストリの値が取得できない原因

正しいPathを指定しているのに 図のような 'HKEY_CURRENT_MACHINE\SO

記事を読む

logo

[C#, Generic]UnityのAddComponentとかなんとかComponentを実装してみる

UnityのAddComponentってありますよね。 みたいなやつ。 このジェネリクスの

記事を読む

socket p2p unity

[Unity]Socket通信でP2Pすっぞ ホストへ接続

前回はホストが待ちうけするところまで作りました。 今回はクライアントがホストへ接続できるように

記事を読む

unity socket

[Unity]Socket通信でP2Pすっぞ 接続待ち受け

P2Pしましょ。 まずはサーバーとして待ちうけまで作ります。 UnityだとNAT越えどうす

記事を読む

logo

[C#]拡張メソッドとリフレクションで列挙体に設定した文字列を表示

前に書いた、列挙体の文字列を返すための書き方。 文字列と列挙体を少しでも近い位置に書きたいときに。

記事を読む

wannabenote

[C#]ポートを使用しているプロセスを特定してAcivateするやつ

ポートからプロセスを特定してAcivateするやつ作りました。 https://github.

記事を読む

NuGet visual studio

[C#]C#でPDFファイルを画像(System.Drawing.Image)にする

PDFを画像に PDFファイルを読み込んで、画像にする必要があったんです。 インターネットで調べ

記事を読む

Unity_

[Unity]Unity 2Dチュートリアル スプライトを元の位置に戻す

前回ドラッグして移動するところまでは作成したのですが、パズドラって、タップしてもその場から動かさなか

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑