問題タブ [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 投票する
2 に答える
1713 参照

parsing - 効率的で柔軟なバイナリ データの解析

バイナリ データの UDP パケットを吐き出す外部デバイスと、このデータ ストリームを読み取って解析し、有用な処理を行う必要がある組み込みシステムで実行されているソフトウェアがあります。バイナリ データもファイルに記録されます。UDPストリームまたはファイルから直接入力を簡単に取得し、データを特定の形式に解析してから、出力をファイル(matlab datファイルなど)または別のプロセスに送信できるパーサーを作成したいと思いますそれはいくつかのリアルタイム処理を行います。これに役立つリソースはありますか? また、これを行う最善の方法は何ですか? C++ ストリームを使用するのは理にかなっていると思いますが、カスタム出力ストリームの作成には慣れていません。これは良いアプローチのように思えますか、それとももっと良い方法がありますか?

ありがとう。

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

java - バイナリ構造の読み取り/書き込み: このコードを単純化するには?

さまざまな種類のバイナリ パケットを送受信するネットワーク アプリを作成しています。新しい種類のパケットをアプリにできるだけ簡単に追加できるようにしようとしています。

ここでは、Packetクラスを作成し、さまざまな種類のパケットごとにそのサブクラスを作成します。ただし、見た目ほどきれいではありません。私はこのようなコードで終わった:

このアプローチで気になるのは、コードの繰り返しです。パケット構造を 4 回繰り返しています。これを避けたいのですが、単純化する合理的な方法がわかりません。

Python で書いていたら、考えられるすべてのフィールド タイプのディクショナリを作成し、次のように新しいパケット タイプを定義します。

どの関数型言語でも同様のことができると思います。ただし、このアプローチを Java に適用する方法がわかりません。

(多分、私はあまりにも衒学的であるか、関数型プログラミングとコードを書くコードを書くことに慣れていたので、繰り返しを避けることができました:))

ご提案いただきありがとうございます。

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

xml - 事前に解析されたバイナリ形式でのXMLドキュメントの保存

私のアプリケーションは、次の要件を持つXMLのような階層情報を大量に保存する必要があります。

  1. 読みやすい
  2. 最小限のメモリ消費
  3. 単なるテキストではなく、入力されたデータ

これらの目標を達成するバイナリ形式の提案はありますか?

0 投票する
1 に答える
318 参照

svn - Subversionチェックアウト内での大きなバージョン管理されていないファイルの同期

私たちは、研究室のためにしばらくの間Subversionリポジトリを使用してきましたが、一般的な問題が繰り返し発生しています。

すべてのコードと小さな永続データをバージョン管理したいのですが、ユーザーチェックアウトで無視されたディレクトリ内に存在する大きなバイナリブロブも​​あり、ユーザーがこれらのファイルとそれらを同期して、複数のユーザーがマシン間で手動でコピーしたり、リポジトリにチェックインしたりすることなく、より大きなBLOBを操作できるようにします(すでに理想以上の種類のものがあります)。

JungleDiskのようなさまざまなバックアップサービスを使用して、少なくともユーザーがこのデータを簡単にバックアップできるようにすることを考えましたが、実際には同期用に設計されていません。また、データファイルが非常に大きく、キャッシュされるのを待つとパフォーマンスが大幅に低下することがあるため、JungleDiskで作業するだけでは理想的とは言えません。

他の選択肢は、rsyncのコピーを提供し、ユーザーがファイルを手動で同期するために実行できるリポジトリ内のいくつかのシェルスクリプトを使用することです(svn checkouts / commitsとは別に)が、これが実際に機能するのは素晴らしいことです技術的に最も精通していない可能性のあるユーザーのためのMac、Windows、およびLinuxでの最小限の労力。したがって、これは、構成が簡単で(バージョン管理されていない新しいファイルの場合)、インストールが簡単で(手順が少ない方がよい)、システムを機能させるためにユーザーの介入をあまり必要としないもの(自動、また​​は単に2倍)が理想的です。スクリプトをクリックすると便利です)。

何か考えや提案はありますか?

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

php - ランプ/Cakephp:画像のストリーミング:バイナリ0x00が0x20に置き換えられました

データベースから画像を引き出してユーザーに表示するスクリプトを作成しようとしています。<img src="viewImage/someImageName">

しかし、私が抱えている問題は、画像が表示されたときにすべてのヌル(0x00)が0x20に置き換えられ、その理由がわかりません。データベース内のデータは、それがnullであることを示していますが、途中で0x20に変更されます。

誰かが何か考えを持っていますか?足りないものはありますか?

これが私が使用しているコードです:

ご覧のとおり、エラーの場所がないため、コードとは何の関係もないと思います。バイナリの内容をダンプできますが、まだ改ざんされていません。

スタックやcakephpで何か考えはありますか?

更新:スペースがストリームの先頭に向かっていることに気づきました。それを追跡しようとしていますが、これが問題になる可能性がありますか?

0 投票する
1 に答える
540 参照

blob - mysqlpp::sql_blob を std::string に変換しても安全ですか?

MySQL データベースからバイナリ データを取得しています。mysqlpp::sql_blob タイプとして出てきます。

この BLOB がシリアル化された Google Protobuf であることはたまたまです。正常にアクセスできるように、シリアル化を解除する必要があります。

ParseFromString() は mysqlpp:sql_blob 型を対象としていないため、これはコンパイル エラーになります。

ただし、キャストを強制すると、正常にコンパイルされます。

これは安全ですか?mysqlpp ドキュメントからのこのスニペットのために、私は特に心配しています:

「C++ 文字列はバイナリ データを適切に処理するため、sql_blob の代わりに std::string を使用できると考えるかもしれませんが、現在の String の設計は C 文字列を介して std::string に変換されます。その結果、BLOB データは切り捨てられます。 SSQLS の作成中に最初に埋め込まれた null 文字で。文字列または SSQLS メカニズムのいずれかを完全に再設計しない限り、これを修正する方法はありません。」

ご協力ありがとうございます。

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

c++ - ベクターvs バイナリ データの文字列

バイナリ データの保持とアクセスに適した C++ コンテナーはどれですか?

また

一方は他方よりも効率的ですか?
より「正しい」使用法はありますか?

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

python - Python バイナリ データの読み取り

urllib2 リクエストは、次のようなバイナリ レスポンスを受け取ります。

その構造は次のとおりです。

このようなバイナリデータを読み取る方法は?

前もって感謝します。

アップデート:

次のコードを使用して、最初の 6 バイトで構造体モジュールを試しました。

(16777216、1024)

しかし、それは (1, 4) を出力するはずです。説明書を見ましたが、何が悪いのかわかりません。