問題タブ [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.
vb.net - VB.NET シリアル化エラー
VB ソリューションでメイン クラスをシリアル化しようとしています。次のように、クラスの上部に Serializable 属性を追加しました。
次のコードを使用してシリアル化しています。
このメソッドを呼び出すと、次のエラーが発生します。
アセンブリ 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' に 'System.Windows.Forms.Form' と入力すると、シリアル化可能としてマークされません。
これは、クラスにアタッチされているフォームをシリアル化できないためだと思いますが、実際に何をしているのかわかりません。
このエラーを発生させずに、Form1 クラスに含まれるすべてのオブジェクトをシリアル化できますか? フォーム コントロールに関するデータを保存したくありませんForm1
。クラスの先頭で定義したすべてのオブジェクトを保存する必要があるだけです。
助けてくれてありがとう。
.net - .Net でのカスタマー バイナリ シリアライザーの例
そこで、独自のバイナリ シリアライゼーションを実装したいと考えています。私を正しい方向に導くための例を探しています。
また、独自のシリアライザー クラスを作成するか、ISerializable を実装して BinarySerializer を使用する方がよいでしょうか? Iserializable を実装すると、BinarySerializer のアセンブリの読み込み/バージョン依存の問題を回避できますか?
c# - C#でのバイナリシリアル化(実際には、WYSIWYGシリアル化)
(WYSIWYGの場合、MicrosoftやGoogleの誰かではなく、何がどのように書かれるかを決定することを意味します)( OK ...技術的には何も決定しません...数年前にプログラムした誰かが決定しました。私がジャンプしなければならない高さを尋ねることしかできません)
今日は少しばかげていると思いますが、解決策を探すのにすでに2時間を失っています:-(。
今...
私はバイナリプロトコルを持っています。これはCベースなので、マシンのエンディアンが定義されているC構造体を見るようなものであり(幸い、「ローカル」エンディアンと同じです)、さまざまなタイプのサイズが定義され、データ構造のアライメントが定義されています。構造体のレイアウトが定義され、文字列は既知のエンコーディングの文字の固定配列です...すべてが定義されています!unsafe struct
また、使用しているときはすべてがC#と非常によく似ており、配列の修飾子の[(LayoutKind.Explicit)]
使用についてはあまり気になりません。fixed
今度はC#でシリアル化/逆シリアル化する必要があります...周りを見回しましたが、何も見つかりませんでした...何を見逃しましたか?あなたが尋ねる前に、私は知っていますBinaryFormatter
が、それは私にとって十分なWYSIWYGではありません...BinaryFormatter
そのフォーマット言語を実装しています。ええ、私は知っていますBitConverter
(そして、ビッグエンディアン用のコンバーターを実装していないという事実)が、それは「完全な」ソリューションではありません。それは「ベース」の楽器にすぎません。そして、私はBinaryWriter
/を知っBinaryReader
ていますが、そうでない配列をサポートしていbyte[]
ないchar[]
ようで、書き込み時に配列を「埋める」ことができないようです(5要素のbyte[]
配列があり、それを書き込む必要があります)byte[]
使用している形式で必要なため、10要素の配列として...これを行うにはコード行を記述する必要があります)
プランB(ただしプランZでも)は、unsafe struct
クラスごとにシャドウを作成し、 IWysiwygSerializable
2つのメソッド(Read
およびWrite
)を使用してインターフェイスを作成し、すべてのクラスにインターフェイスを実装します(書き込みはにデータを入力unsafe struct
して出力ストリームに書き込み、読み取りは反対のことをします)(または、を使用せずに、で数十を直接行うこともできますが、BitConverter
配列の場合は少し難しくなります)Read
Write
struct
ありがとう!
silverlight - Windows Phone 7 向けの高速で包括的なバイナリ シリアル化フレームワーク
Windows Mobile 6.5 から移行するプロジェクトのために Windows Phone 7 で使用する高速バイナリ シリアライゼーション フレームワークを探しています。Protobuf-net は WM6.5 でうまく機能しますが、WP7 ではまだゴールデン タイムにはほど遠いので、疑問に思っていました。それまでの間、誰かが良い代替案を知っていれば。
カスタム型、カスタム型の配列、カスタム型のコレクション、組み込み型、フレームワーク内のシリアル化可能な型など、幅広い型のシリアル化をサポートするフレームワークが必要です。
いくつか見つけましたが、それらは DataContractSerialization よりもそれほど高速ではありません (ただし、間違いなくコンパクトです)。私はこれまでに試しました:
Mike Talbot の Silverlight シリアライザー: http://whydoidoit.com/silverlight-serializer/
Silverlight の代替シリアライザー: http://slserialelzo.codeplex.com/
Alt のパフォーマンスは優れていますが、リフレクションに大きく依存しており、完全なフレームワークの対応物のようにシリアライザーをコンパイルしていませんが、どちらも比較的複雑な型を使用した最初の基本的なテストに合格しました。
私が試すことができる他のシリアル化フレームワークはありますか? 喜んで彼らのパフォーマンスを測定し、私の発見を共有したいと思います。
c# - 列挙型のようなオブジェクトのシリアル化
オブジェクトのグラフをシリアル化するために、バイナリシリアル化(BinaryFormatterなどを使用)を使用しています。これらのオブジェクトの中には、追加のプロパティとメソッドを除いて、列挙型に似た特定のタイプのフィールドを持つものがあります。
この列挙型のようなオブジェクトが逆シリアル化されるたびに、その型の新しいインスタンスが作成されるという問題。完全に新しいオブジェクトを作成する代わりに、既存のオブジェクトのセットの1つを返すことができる特別な逆シリアル化メソッドはありますか?
列挙型オブジェクトを含むタイプごとにこれを行う方法を聞いたことがありますが、列挙型オブジェクトを含むクラスが列挙型の既存のオブジェクトを調べて自動的に逆シリアル化するようにしたいと思います。 。
(それが重要な場合に備えて、なぜ私はこれが欲しいのですか?
等式が簡単になります。Equals、GetHashCode、==、および!=をオーバーライドして、IEquatableを実装する代わりに、デフォルトの参照比較演算子を使用できます。
列挙型オブジェクトの一部のデータが変更される可能性があります。シリアル化されたデータを、多くのコードなしで新しいデータに更新する必要があります。(列挙型オブジェクトには、変更されないフィールドがあることに注意してください。))
c# - クライアント側のデータ キューを Tcp/IP 経由でサーバー側に送信する
クライアントからサーバーにデータを送信したい。2 つのキューがあります。クライアント側とサーバー側で。クライアントをサーバーに接続し、クライアント キュー内のすべてのデータをサーバーに送信したいと考えています。サーバー側では、すべてのクライアントを受け入れてすべてのオブジェクトを取得し、サーバー側のキューに追加したい
クライアントコード:
サーバ側 :
上記のコードが機能していないことはわかっています。自分のデザインをスケッチしたいだけです。誰かがコード例を送ってくれますか。クライアントキューをサーバーキューに送信する方法..
ありがとう..
.net - SerializationException アセンブリが見つかりません
AssemblyA.MyType 型のオブジェクトをシリアル化し、ファイルを AssemblyB.MyType 型に逆シリアル化できるかどうかを知る必要があります。これら 2 つの型は同じもので、唯一の違いは格納場所 (AssemblyA と AssemblyB) です。
私のシナリオ: AssemblyA は、多くの型と関数を必要とする実行可能ファイルExeAによって使用されます。AssemblyB はExeBによるユーザーであり、必要なのは MyType だけです (AssemblyA にある他の参照を含めることはできません)。
MyType を含む 3 番目のアセンブリ (AssemblyC) を作成する場合、AssemblyA と AssemblyB から MyType を削除し、参照 AssemblyC を 2 つのプロジェクトに追加します。しかし、異なるタイプを使用してシリアライズおよびデシリアライズすることは可能ですか?
私はネット2.0を使用しています
ありがとうございました。
c# - Int32 としてシリアル化されるように構造体をカスタマイズする
バイナリ シリアル化を使用してデータを保存します。ここで、プログラム内のフィールドを Int32 から構造体に変更しました。しかし、下位互換性を保つために、フィールドを Int32 として保存したいと考えています。それ、どうやったら出来るの?
背景情報 私のプログラムは Delphi から移植されており、多くの配列を使用しています。問題は、Delphi のリストが 1 からカウントを開始することです。現在 C# で開発しているときに、vilkort によってインデックスを追跡することが難しくなりました。プログラム全体を修正するまで、0 から始まる配列。
コード
c++ - バイナリのシリアル化を実行するときに、stringstream の結果の const 性を削除しても安全ですか?
いくつかのアイテムのバイナリシリアル化を実行していて、それらを不透明なバイトバッファに書き込んでいる状況があります:
const
から -nessを削除してから結果をバッファに割り当てても安全ss.str().c_str()
ですreinterpret_cast
かunsigned char*
?
注: コードは、私が何をしているかを示すためのものであり、必ずしもコンパイルされるとは限りません。
c# - byte[]を逆シリアル化してDataTableに戻す
DataTableをシリアル化/逆シリアル化するための次のコードがあります。
serializeメソッドは正常に機能しますが、deserializeメソッドは次のエラーを生成します。
私は過去にこの方法が機能するようになったと99%確信していますが、何が悪いのかはわかりません。