問題タブ [binary-data]

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.

0 投票する
6 に答える
2595 参照

database - データベースへのデータ パケットの格納

問題の説明: 私のアプリケーションでは、データ パケットの内容を特定の形式で提示する必要があります。例:

任意のパックされたバイナリ データ。たとえば、4 バイトのヘッダー、4 バイトの型 (定義済みの意味を持つ型コード)、送信元アドレス、宛先アドレスなど。

以前は、データをバイナリ ファイルに格納する家庭料理の実装を作成しました (固定レコード長により高速検索が可能)。たとえば、非常に大きなデータ ファイル用に独自の効率的なバイナリ ストレージ フォーマットを実装しています。また、一部のフィールドで検索を迅速に実行するために、独自のインデックス作成も実装しています。本当の DB (単純な SQLite でさえも) は、このようなことを透過的に単純化できると思います。

質問 #1: DB はそのようなデータの保存に役立ちますか? また、どのように行う必要がありますか? ここには 1 対多、多対多のマッピングやその他の高度なものがないことに注意してください。これは、特定の内部構造を持つ単純なパケットのシーケンスであり、ユーザーに表示して対話させます (つまり、検索特定の分野によって)。

質問 #2:ここで、ユーザー自身が自分のパケットのフォーマット、つまり構成ファイルで指定できるとします: 各フィールドの長さ、そのタイプ、その値の意味 (列挙の場合) など。このために DB を利用した実装を拡張するにはどうすればよいですか? ユーザーが DB スキーマを定義する必要がありますか? 構成ファイルをこのスキーマに自動変換する必要がありますか? ORM?

質問 #3:さらに高度な. データ パッケージの長さと内容が異なる場合があるとします。つまり、タイプ #2 のパッケージにはいくつかのフィールドがあり、タイプ #3 にはいくつかの他のフィールドなどがあります。しかし、アプリでそれを処理して、すべてを適切に表示し、ユーザーが構成ファイルで形式を指定できるようにしたいと考えています。それはどのように行われますか?

前もって感謝します。

0 投票する
3 に答える
1738 参照

c# - バイナリ形式でポートにデータを送信する方法

私は低レベルプログラミングの初心者です。私のプロジェクト(C#.NET)では、通信にEDBSプロトコル(7ビット形式)を使用しています.00101010のように送信するビット形式のデータがあるので、これらをポートに送信する方法を教えてください. port クラスはバイナリ形式のデータを受け入れますが、ビット形式を byte に変換する方法がわかりません。

前もって感謝します

プレミアム

0 投票する
2 に答える
5323 参照

clojure - Clojureでバイナリファイルを解析する方法

clojureでバイナリデータを解析する最もクリーンな方法は何ですか?ファイルまたはソケットに対して同等にクリーンに読み取り/書き込みできる必要があります。

何かのようなもの:

データを戻す場合はその逆です。どういうわけか構造を一度定義して、読み取り関数と書き込み関数に同じ定義を使用させるのは本当に素晴らしいことです。

0 投票する
3 に答える
682 参照

c++ - .bin ファイルを作成する C++ の関数はありますか、それともこのコードに何か不足していますか?

次のようなコードがあります。

単体で実行すると-1で終了するので、明らかに「test.bin」のオープンに失敗しています。ただし、空白のメモ帳ファイルを「test.bin」として保存して実行すると、正常に動作します。私が疑問に思っているのは、「test.bin」というファイルがまだ存在しない場合に、C++ プログラムに空のファイル「test.bin」を自動的に生成させる方法です。

0 投票する
4 に答える
1393 参照

c++ - 整数値「0」を.binファイルに保存する方法は? (C++)

編集:どうやら、問題は読み取り機能にあります:16進エディターでデータをチェックしました

02 00 00 00 01 00 00 00 00 00 00 00

したがって、ゼロはゼロとして読み取られるのではなく、ゼロとして格納されます。

通常の store-in-bin ファイル機能を使用すると、次のようになります。

バージョンとして 0 を格納するcharか、または "\0" を格納しますが、これは明らかに格納されていません (null 値であるため?)。そのため、関数を呼び出してゼロ値を読み取ると、その直後 (または直前) の値が読み取られます。ファイルの最後になる場合)。では、.bin ファイルにゼロを適切に格納するにはどうすればよいでしょうか。

編集: 読み取り/書き込みプロセスに関連する関数の一部を次に示します。

また、使用時の出力sector::Initは次のとおりです。

ビンに書き込もうとしていた出力は

したがって、0 が 1 として読み書きされているか、書き込まれておらず、Init が最後の値を 2 回読み取っています。

0 投票する
2 に答える
4128 参照

ruby-on-rails - Rails:バイナリフィールドの内容をファイルに保存する

ファイルを含むバイナリフィールドを持つモデルがあります。実行する必要のあるプロセスの一部として、このファイルをディスクに保存したいと思います。どういうわけか、これを行う方法については何も見つかりません。

モデルには、filenameフィールドとfile_contentsフィールドが含まれています。私はこのようなことをしたいです:

どんな助けでもいただければ幸いです!

0 投票する
9 に答える
24645 参照

character-encoding - 最も効率的なバイナリからテキストへのエンコーディングは何ですか?

これまでに見つけた最も近い候補は、yEnc (2%) と ASCII85 (25% オーバーヘッド) です。yEnc には、主に 8 ビット文字セットを使用しているという事実に関連して、いくつかの問題があるようです。これは別の考えにつながります: UTF-8 文字セットに基づくバイナリからテキストへのエンコーディングはありますか?