問題タブ [binaryfiles]
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# - バイナリ ファイルを構造体に読み込む
C# を使用してバイナリ データを読み込もうとしています。読みたいファイル内のデータのレイアウトに関するすべての情報を持っています。データを「チャンクごと」に読み取ることができます。つまり、データの最初の 40 バイトを取得して文字列に変換し、次の 40 バイトを取得します。
わずかに異なるバージョンのデータが少なくとも 3 つあるため、データを直接構造体に読み込みたいと考えています。「一行ずつ」読むよりも、はるかに正しいと感じます。
私は次のアプローチを試みましたが、役に立ちませんでした:
ストリームは、私が読み取りを開始した、開いている FileStream です。AccessViolationExceptio
を使用すると nが得られMarshal.PtrToStructure
ます。
ファイルの末尾にあるデータには関心がないため、ストリームには読み込もうとしているよりも多くの情報が含まれています。
構造体は次のように定義されます。
この質問を短くするために、サンプルコードは元のコードから変更されています。
ファイルから構造体にバイナリデータを読み込むにはどうすればよいですか?
.net - Oracle 10g でバイナリ ファイルを保存および取得する最良の方法は何ですか?
ユーザーが PDF または Microsoft PowerPoint ドキュメントを「アップロード」できるようにする機能をアプリケーションに実装しようとしています。これにより、アプリケーションはビューアーで他のユーザーが利用できるようにします (そのため、「ダウンロード」することはありません)。 「名前を付けて保存..」の意味で)。
データベース列に任意のバイナリ情報を保存および取得する方法は既に知っていますが、これはアプリケーションの一般的に使用される機能であるため、ソリューションが非常に大きなデータベース テーブルにつながるのではないかと心配しています (顧客の 1 人が配置したいと考えているため)。 PowerPoint ドキュメントのビデオ)。
Oracle で「ディレクトリ」オブジェクトを作成する方法があることは知っていますが、この機能を使用して、データベース サーバーの別の場所に保存されているバイナリ ファイルを格納および取得する方法はありますか?
それとも、データベースのサイズについて過度に偏執的ですか?
(完全を期すために、アプリケーションは、Oracle 10g への CoreLab / DevArt OraDirect.Net ドライバーを使用する .Net WinForms です)
serialization - Adaがレコードをシリアル化する方法を理解する
Write in Adaを呼び出してレコードをシリアル化すると、結果のバイナリがどうなるかを予測できるようにしたいと思います。私がこれをどこで調べることができるか知っていますか?
レコードを書き込むことによってバイナリファイルを生成するレガシーAdaソフトウェアがいくつかあり、互換性のあるバイナリファイルを書き込むことになっているC++プログラムをデバッグする必要があります。したがって、C ++コードが機能的に同等のレコードを生成することを確認できるように、Adaがレコードをシリアル化するときにどのようなルールに従うかを理解したいと思います。
php - ビデオファイル形式をプログラムで決定しますか?
ビデオ フォーマットの基本はわかりました。いくつかのコンテナ フォーマットがあり、次にコア ビデオ/オーディオ フォーマットがあります。ファイルが使用しているビデオ/オーディオ コーデックを判断する Web ベースのアプリケーションを作成したいと考えています。
ビデオコーデックをプログラムで判断するにはどうすればよいですか? システムコールを介して標準ライブラリを使用し、その出力を解析するのが最善でしょうか? (例: ffmpeg、トランスコードなど?)
git - git バージョン管理システムを使用したバイナリ ファイルのロック
SVN からの切り替えを期待して、1 年半の間、私は git コミュニティに注目してきました。私を妨げている特定の問題の 1 つは、バイナリ ファイルをロックできないことです。過去 1 年間、この問題に関する進展はまだ見られませんでした。ファイルのロックが分散ソース管理の基本原則に反することは理解していますが、バイナリ ファイルの競合の可能性がある場合に、Web 開発会社が git を利用してソース コードとイメージ ファイルの変更を追跡する方法がわかりません。
ロックの効果を得るには、「中央」リポジトリを特定する必要があります。git の分散性に関係なく、ほとんどの企業はソフトウェア プロジェクト用の「中央」リポジトリを持っています。指定されたアドレスで管理 git リポジトリからのロックが必要であることをファイルにマークできるはずです。おそらく、git はファイルではなくファイルの内容を追跡するため、これは難しくなっていますか?
変更する前にロックする必要がある git およびバイナリ ファイルを扱った経験のある人はいますか?
注: Source Gear の新しいオープン ソース分散バージョン管理プロジェクトである Veracity は、ロックを目標の 1 つとしているようです。
asp.net - XPSドキュメントをブラウザにストリーミングしてWebページに埋め込むにはどうすればよいですか?
私はこれについてどうやって行くかについてのいくつかの提案を探しています。どんな入力でも大歓迎です!
現在、ASP.NETMVCアプリケーションがあります。クライアントには、XPSドキュメントのIDを持つリンクがあります。ユーザーがリンクをクリックすると、ドキュメントの詳細が記載されたページに移動します。この情報に加えて、この情報と一緒に同じページにドキュメントを表示したいと思います。
サーバー側では、IDを取得すると、データベースからバイト配列としてシリアル化されたドキュメントを取得できます。問題は、そのシリアル化されたドキュメントをWebページに取り込むための最良の方法は何ですか?
そのドキュメントをファイルシステムにドロップしてから、ファイルパスをまとめる必要がないことを強く望んでいます。ドキュメントを「application/vnd.ms-xpsdocument」のコンテンツタイプとしてブラウザにストリーミングできるようにしたいと思います。
私はこれを処理するためにWebコントロールを使用してみました(バイナリを書き出すことができません)、これを行うためのHTTPハンドラーを作成することを考えました(どこから始めればよいかわかりません)、そしてドキュメントを取得するための他のいくつかの方法をいじくり回しましたブラウザにストリーミングします。
さらに、Webページにドキュメントを埋め込む方法の問題もあります。EMBEDタグを使用しますか?またはオブジェクト?または、iframeを使用して、ドキュメントを配信するものを指すようにソースを設定しますか?
繰り返しますが、私は解決策が弓に包まれることを期待していません。これについてのアドバイスを探しています。また、この質問はxpsドキュメントに関するものですが、ブラウザーでホストされるバイナリファイル(PDFなど)をストリーミングするすべてのアプリケーションに適用されます。
さて、ブラウザに表示することに関しては、一言:Silverlight。それは解決しました。サーバーからブラウザに送信するための最良の方法を見つけるという問題がまだあります。
それを打つ。Silverlightは、XPSドキュメントを表示するのに十分なほど進んでいないようです。httpハンドラーを指すiframeについて考えています...iframeは機能します。残念ながら、すべてがパイプに投げ込まれます。私はいつでも最初のページを取り除き、その子犬を送ることができると思います...
わお。HTTPハンドラーは必要ありません。必要なのはMVCのカスタムActionResultだけです。それはどれほど素晴らしいですか?
c# - C#で複合ドキュメントを読む
C#でOutlookのメッセージファイルを読み取る必要があるプロジェクトを開始しています。複合ドキュメントの仕様はありますが、C#でそれらを読み取るのに問題があります。任意のポインタをいただければ幸いです。
ありがとう。
hex - 16進ダンプを人間が読める形式に変換するための汎用ユーティリティまたはライブラリはありますか?
私はさまざまなデバイスとのシリアル通信を頻繁に使用するため、ログ ファイルの 16 進ダンプを分析する必要がよくあります。現在、ダンプを見て、プロトコル仕様を見て、結果を書き留めることで、これを手動で行っています。ただし、これは面倒でエラーが発生しやすく、特にメッセージに数百バイトが含まれ、ビッグエンディアンとリトルエンディアンのデータ、ASCII、Unicode、圧縮、CRC、. . . .
より一般的なケースを支援するために、いくつかの Python スクリプトを作成しました。しかし、処理するプロトコルはたくさんあります。また、分析するダンプがたくさんあることがわかっていない限り、カスタム スクリプトの作成に時間を費やすのは意味がありません。
私が望むのは、このアクティビティを自動化できるある種のユーティリティです。たとえば、次のようなテキスト 16 進ダンプがあるとします。
そして、次のようなメッセージ形式のある種の説明:
次のような出力が得られます。
多くの場合、ハードウェア ベースのプロトコル アナライザーには、このようなことを行うための優れた機能が備わっていますが、テキスト ログ ファイルを操作する必要があります。
そのようなユーティリティまたはライブラリは存在しますか?
報奨金を設定してから、いくつかの良い答えが出てきました。報奨金が効くと思います!
Wireshark と HexEdit はどちらも有望に見えます。私はそれらを見て、おそらく私のニーズに合った方に報奨金を授与します. しかし、私はまだ他のアイデアに対してオープンです。
binaryfiles - バイナリファイルが「ぎこちない」原因となるのは何ですか?
この特定の質問に対する答えは見つかりませんでした。おそらく1つはありません。しかし、私はそれについてしばらく疑問に思っていました。
テキストエディタで見たときに、バイナリファイルが「ぎこちない」と表示される原因は何ですか。暗号化されたファイルでも同じです。ファイルのバイナリ値をASCIIに変換しようとしていますか?ビューを変換して生のバイナリ値を表示することはできますか?つまり、ファイルを構成する1と0を表示することはできますか?
最後に、どのプログラムがデータファイルを適切に開くかを決定する方法はありますか?多くの場合、特にWindowsでは、ファイルが孤立しているか、特定のプログラムに関連付けられていません。テキストエディタで開くと、それがどこに属しているかがわかることがありますが、ほとんどの場合、ぎこちないためにわかりません。拡張機能が情報を提供しない場合、どのプログラムに属しているかをどのように判断できますか?
python - Pythonを使用して大きなバイナリファイルから一連の文字を削除する
Python のバイナリ ファイルから同じ値の長いシーケンスをトリミングしたいと思います。これを行う簡単な方法は、単にファイルを読み込んで re.sub を使用して不要なシーケンスを置き換えることです。もちろん、これは大きなバイナリ ファイルでは機能しません。numpyのようなものでそれを行うことはできますか?