問題タブ [binaryreader]

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 投票する
5 に答える
15789 参照

c# - BinaryReaderのEndOfStream

BinaryReaderにはEndOfStreamプロパティがありません。次のコードを使用して、ストリームの終わりに到達したかどうかを確認しても安全ですか?

reader.BaseStream.Length>reader.BaseStream.Position

0 投票する
0 に答える
623 参照

c# - BinaryReader.ReadUInt16() は非常に遅い

アプリケーションのプロファイルを作成し、ReadUInt16() を使用してメモリ ストリームを読み取っています。時間的に非常にコストがかかります。代替手段はありますか - またはそれをスピードアップする方法はありますか?

編集

申し訳ありませんが、間違いを犯しました。アプリケーションをデバッグ モードで実行していませんでしたが、プロパティが 64 ビット CPU およびアクティブ (リリース) に設定されていませんでした。これらの速度に変更すると、異常に速くなります!

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

c# - BinaryReaderのFillBufferメソッドは何をしますか?

ドキュメントによると:

ストリームから読み取られた指定されたバイト数で内部バッファを満たします。

これはどういう意味ですか(内部バッファーとは何ですか?)?

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

c# - C#BinaryReader.Read()は、最初はがらくたになります

私はここで私が間違っていることを理解しようとしています。バイナリリーダーを使用して、ストリームから最初の4バイトをInt32値に簡単に取得しようとしています。これにより、残りのデータが予想される期間がわかります。

出力は入力である必要がありますが、これを取得します(最初の文字が文字列から文字列に変わることに注意してください)

(これが非常に長い文字列であると想像してください

誰かが私が間違っていることを私に説明できますか?理想的には、2回目の読み取りは、読み取りバイトの合計が最初の4バイトの値と等しくなるまで続きます。このコードは、私が直面している問題を示すための単純化にすぎません。ストリームの位置は正しいようですが(4)、2から読み始めているようです。

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

c# - C# でバイナリ ファイルを読み取るにはどうすればよいですか?

テキストとバイナリ イメージ内に存在するファイルがあり、問題のテキストの位置を 0 から 30 まで読み取る必要があり、31 の位置はバイナリ形式のイメージになります。その問題を解決するには、どのような手順を踏む必要がありますか?

現在、を使用して読み取ろうとしており、次に示すようFileStreamに FileStream var を 1 つに移動します。BinaryReader

そこから先、道に迷っています。


アップデート

よし、これでファイルを読めるようになった。位置 30 までは私の 30 文字列であり、位置 30 からは実際には画像であるビット文字列です。30 番目の位置からバイトを読み取り、画像を保存するにはどうすればよいのでしょうか。誰にもアイデアはありますか?私のファイルの例に従ってください。いくつかのアイデアがあります。

@ @ @ も私の文字列であり、そこから画像は 1 バイトになることに注意してください。

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

c# - C# クライアント サーバー アプリケーション、BinaryReader が例外をスローする

サーバー上にファイル (クライアントが送信する必要があるファイル) が存在するかどうか、および応答を返すために存在するかどうかを確認するサーバー アプリケーションを作成するタスクがあります (メッセージ - 「このファイルが存在します。」)。これには問題があります。サーバーは正しいことを行っていますが、BinaryReader を使用して応答を読み取ろうとすると、次の例外が返されます。

クライアントからのコードは次のとおりです。

それが GetResponse メソッドです。

そして、ここでクライアントにデータを送信する方法:

私を手伝ってくれますか?

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

c# - C# の UploadedFile で BinaryReader を使用した空の配列

次のコードを想定します。

10 レコード (257 バイト) の CSV ファイルをアップロードすると、BinaryReader はバイト配列を「0」で埋めます。

また、BinaryReader の ReadByte メソッドをステップ実行するループも作成しました。ループの最初の繰り返しで、次の例外を受け取りました。

ストリームの終わりを超えて読み取ることができません

CSV ファイルを 200 レコードに増やすと、すべてが正常に機能しました。

問題は、なぜこれが小さなファイルで発生するのか、そして小さなファイルのバイナリ読み取りを可能にする回避策があるかということです。

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

c - C で PDF ヘッダー情報を編集または削除する

複数の PDF ファイルのヘッダー情報を編集する必要があります。私が達成したいのは、の前にすべてのヘッダーデータを削除することです%PDF-X.Y.Z

可能な解決策として私が思いついたのは、バイナリモードで PDF を開き、各文字%PDF-X.Y.Zが見つかるまで読み取ることでした。次に、ストリームの残りの読み取りを続行し、新しいファイルに保存します。このようにして、ヘッダー情報が異なるだけで、PDFの正確なバイナリコピーが得られると思いました。

Cでこれを行う最も簡単で最良の方法は何ですか? これを行うのに役立つ利用可能なライブラリはありますか? また、この問題を解決するためのさまざまなアプローチを聞くことにも興味があります。

ありがとう。

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

c# - 32ビットチャンクからのnビットの読み取り

従来のFortanアプリケーションで作成されたバイナリファイルを読み込もうとしています。

32ビットのチャンクにデータを書き込みます。これらの32ビットチャネルの一部には、複数のデータが含まれています。

例:1:9ビットには(0-511)の範囲の位置オフセット値が含まれます22ビットには(1-2097151)の範囲のデータレコード値が含まれます

eg2:17ビットには(1-131071)の範囲の年の値が含まれます4ビットには(1-12)の範囲の月の値が含まれます5ビットには(1-31)の範囲の日の値が含まれます5ビットには(1-12)の範囲の時間の値が含まれます1-24)

データの読み取り方法を知りたいのですが、32ビット値ストアを整数で取得できますが、その4バイト値のさまざまな部分を抽出するにはどのような操作を実行する必要がありますか。

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

.net - BinaryReader を使用して midi ファイルを読み取ります。(。ネット)

BinaryReader を使用して midi ファイルを読み取る方法 (形式の仕様はこちら)

私は vb.net を使用していますが、他のコードも見てみたいと思っています (ほとんどは C# だけで、変換できます)。私は大規模なプロジェクトに取り組んでいますが、これは少しスピードバンプになります。

これが私の現在のコードです:

実際のヘッダーデータの読み取りを開始するまで、すべてが機能します。どうやって続けたらいいのか、完全に迷っています。どんなヘルプやコード例もいいでしょう!