問題タブ [binary-serialization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - リストのバイナリ シリアル化ここで、T は ISerializable を実装します
ISerializable を実装するクラス X があります
List と eventaggregator を含むクラス Y があります。
Y をバイナリでシリアル化する必要があります。
しかし、Y を逆シリアル化し、次の行を確認すると、シリアル化されているはずの X オブジェクトの代わりに null を含む List が返されます。
このコードの何が問題なのですか? 条件付きシリアル化で単純にシリアル化することはできません。カラーはシリアル化されません。また、ObservableDataSource には Serializable 属性がなく、変更できません。
これは .NET Framework 3.5 にあります (それが役に立つ場合)。
c# - アセンブリ間で移動されたタイプの逆シリアル化
あるアセンブリから別のアセンブリに移動されたタイプがたくさんあります。SerializationBinderを使用して、古いアセンブリを使用してシリアル化されたデータを新しいアセンブリの型に逆シリアル化しようとしています。
編集:アセンブリのルート名前空間は、アセンブリ名と同じです。古いアセンブリはもう存在しません。
逆シリアル化コードは次のようになります-
デシリアライズしようとすると、古いアセンブリをロードしようとするとエラーが発生します。
ファイルまたはアセンブリ'古いアセンブリ'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
.net - SurrogateSelector はルート オブジェクトでのみ機能するようです
SurrogatSelector を使用して、ストリームの逆シリアル化をカスタマイズしようとしています。オブジェクト グラフのルート オブジェクトに対しては正常に機能しますが、含まれているオブジェクトに対しては機能しません。次のコードを参照してください。
StringSerializationSurrogate は、文字列が逆シリアル化されるときに呼び出されます (メソッド SetObjectData) が、文字列を (シリアル化可能なメンバーとして) 含むオブジェクトが逆シリアル化されるときは呼び出されません。シリアライズ/デシリアライズするオブジェクトは次のようになります。
ルート以外のオブジェクトでサロゲートを呼び出す方法はありますか? 完全を期すために、サロゲートは次のようになります (ブレークポイントを設定するためのテストコードのみ)。
c# - c# で byte[] を構造体に変換する 2 つの方法の違い
byte[]
いくつかの構造とその表現の間でいくつかの変換を行っています。これを行う 2 つの方法を見つけましたが、違い (パフォーマンス、メモリなど) は明確ではありません。
方法 1:
方法 2:
どちらが優れており、主な違いは何ですか?
module - Orange のバイナリ シリアル化バックエンド
Orange
ライブラリが XML に加えてバイナリ シリアライゼーション バックエンドをサポートしていないのはなぜですか? D が現在、バイナリ表現にアクセス/反映できないためですか、それともまだ優先順位が付けられていないだけですか? Phobos
可能な場合、バイナリ シリアライゼーション バックエンドを実現するには、どの D 言語機能やモジュールを使用すればよいOrange
ですか?
std.binmanip
D2については、私たちが正しいことを考えると簡単だと思いますか?
c# - バイナリ シリアル化と自動プロパティ
私はこのようなクラスを持っています:
クラスは、バイナリのシリアル化 (BinaryFormatter の標準的な使用) に使用されます。IBar の実装は [Serializable] とマークされているため、すべてが機能します。
ここで、Bar をシリアライズせず、後方互換性を維持したいと考えています (コード内では参照されていませんでした)。 NonSerialized属性で十分のようです。ただし、自動プロパティではなく、フィールドにのみ適用できます。だから私はこれを試しました:
驚くべきことに、これはうまく機能します。古い Foo と新しい Foo の両方を逆シリアル化できます。
私の質問は、これらがシリアル化されたフィールドであり、自動プロパティのバッキング フィールドの名前に C# 以外の文字が含まれている可能性がある場合、どのように機能するのでしょうか?
言い換えると:
古い Foo の IBar フィールド名 (私の推測): k__BackingField
新しい Foo の IBar フィールド名: _bar
明らかにそれらは一致しないので、BinaryFormatter はこれをどのように克服するのでしょうか?
ruby-on-rails - オブジェクト (実際には Mongoid ドキュメント) を Rails の任意のバイナリ形式にシリアライズする
mongodb データベースからのドキュメントを処理する非同期プロセスを実装しています。新しいオブジェクトがコレクションに存在するかどうかを確認してからキューに入れるマスター スレッドのようなもの ( RabbitMQ
) と、キューからのメッセージを処理するいくつかのハンドラー (現在は 1 つ) があります。したがって、メッセージをキューに入れるときは、amqp
プロトコルを使用しているため、メッセージをバイナリ形式にシリアル化する必要があります。メッセージを処理するときは、オブジェクトをバイナリ データから戻す必要があります。ちなみに私はrabbitmq
viaで操作していますamqp gem
でやろうとしましたがBSON gem
、ハッシュのみを処理して例外をスローし、オブジェクト自体をシリアル化しようとしています。しようとmsgpack-rails gem
していますが、「undefined method .to_msgpack」エラーがスローされます。
ですから、高速からバイナリへのシリアル化、およびバイナリからの逆シリアル化を手伝ってください。ありがとう。
c# - 複数のオブジェクトを 1 つのバイナリ ファイルにシリアル化する
左にドッキングされたツリービューコントロールと、ツリーノードの情報を含む5つのクラス、つまりその種類のノードのエディターを持つMDIアプリケーションがあります。
すべてのオブジェクトが単一のバイナリ ファイルにシリアル化されるように、アプリケーションをシリアル化するにはどうすればよいですか?
単一のファイルをすべてのマシンに送信できるように、リソースをそこに保存する方法は?
ありがとう。
c# - BinaryReader を使用して Null 許容型を読み書きしますか?
System.IO BinaryReader をオーバーロードして、ファイル ストレージの目的でいくつかのクラスをシリアル化しています。辞書などの項目を実行しても問題はありませんでしたが、null 許容型では成功していません。することは可能ですか?具体的には、小数を試みていますか? と string? ですが、ソリューションを適応させるには、どのタイプでも機能するはずです。
特定のビジネス上の理由から、バイナリ シリアル化を行う必要があるため、そのために機能するソリューションのみに回答を限定してください。
たとえば...バイト配列の読み取り/書き込みには、次のメソッドを使用します。