問題タブ [binarywriter]
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# - リストの書き方バイナリファイル(4バイト長)に?
4バイトの長さのバイナリファイルにintのリストを書き込む必要があるため、バイナリファイルが正しいことを確認する必要があり、次のようにします。
この行で:binaryWriter.Write(4);
私はサイズを与えます、それは正しいですか?
c# - バイナリファイルを生成する方法は?C#
バイナリ(4バイト長)を生成し、整数のリストを受け取り、このリストを1つずつファイルに書き込むメソッドを作成する必要があります。だから、私はこれを持っています:
これは正しいです?または他の解決策をお願いします
c# - Read7BitEncodedIntの使用についてサポートが必要
私はこれにRead7BitEncodedIntメソッドを使用する方法を2時間以上探していました。ファイルサイズを小さくするために何らかの方法で使用する必要があります(この場合は100MB以上になる可能性があります)。ほぼ同じことをするように見えるので、ReadStringメソッドの使用も検討していました。しかし、それはあまり適切ではないようで、私はそれがうまくいくかどうか本当にわかりません。これに代わるものがあり、私が気付いていない場合は、それを使用することもできます。
要約すると。Read7BitEncodedIntメソッドを次のコードに実装するにはどうすればよいですか?また、Write7BitEncodedIntへの私のメソッドも正しいかどうかはわかりません。
c# - オブジェクトでのBinaryWriterの使用
私のアプリケーションは小さなC#データベースであり、BinaryWriter
bool、uint32などの基本的な型で正常に動作するファイルにデータベースを保存するために
使用していObject
ます。任意のデータ型を格納するため)、ただし、私のアプリケーションはこの変数の実際の型を知らない(または知る必要がない)ため、を使用してそれを書き込む方法がわかりませんBinaryWriter
。
変数のメモリを取得して保存する方法はありますか?それは信頼できるでしょうか?
編集:
ba_friendによって提供される回答には、オブジェクトをバイト配列に逆シリアル化するための2つの関数があり、BinaryWriterを使用してその長さとともに書き込むことができます。
c# - SharePointashxハンドラーファイルのダウンロード問題
使用しているファイルを取得するashxハンドラーがあります。これはSharePointにあり、ファイルの種類を確認してから、を使用して書き込みますResponse.BinaryWrite
。このファイルは、すべてのファイルを含む別のサーバーから取得します。3MBのようなファイルをダウンロードしようとすると、正常に動作します。しかし、30MBまたは40MBのファイルをダウンロードしようとすると、エラーが発生します。
アプリケーションプールを確認したところ、仮想メモリ用に1.5GB、実際のメモリ用に1GBに設定されています。私はアイデアがなく、次にどこに行くべきかわかりません。誰かアイデアがありますか?
c# - BinaryWriterを使用してリストを作成するにはどうすればよいですか?
汎用のWriteList(List value)関数を使用して、BinaryWriterを使用してリストを作成したいと思います。これが私が使用しているコードです:
私が受け取っているエラーは次のとおりです。
BinaryFormatterは絶対にオプションではありません。
c# - C# のビットベースの BinaryWriter
ビットベースの B/W/Greyscale Pre-Compiled フォント形式に取り組んでおり、形式の読み取りまたは書き込みに問題がありました (問題がどこにあるのか特定できませんでした。白黒のビットベースのバージョンは動作しますが、ご想像のとおり、特に 320x200 ピクセルの画面で作業する場合、Aliased フォントは見栄えがよくありません) ) しかし、BinaryWriter を使用するだけで、画像データをプルしたときのbool[]。
ファイル内のピクセルの基本的な形式は次のようになります。
1 - ホワイト ピクセル (これがほとんどのピクセルになるため、最も短い)
00 - 黒ピクセル (妥当な数の純粋な黒ピクセルに 10 ビットを書き込む理由はありません)
01 - グレースケール ピクセル。ピクセルの色合いを表す 1 バイトが続きます。
これで、必要な情報を書き込むことですべてがうまくいきます。これはすべてフル バイトですが、デフォルトの .Net 4.0 BinaryWriter はブール値をフル バイトとして書き込みます。フォーマット。それで、ビットベースのBinaryWriter(およびBinaryReader)の実装があるのだろうかと思っていました
編集:私は自分自身を作成することになりました。(コードについては、回答を参照してください。)
c# - StreamWriter またはファイル書き込みを介してデータを変更しますか?
バイナリ データ ファイルを作成する必要があります。1 回のパスで作成することはできません。一部のデータをシリアル化してから、戻ってヘッダーにオフセットを書き込む必要があります。ファイルはメモリ (数メガバイト) に問題なく収まります。を使用BinaryWriter
してオフセットを書き戻すことはできますwriter.Seek(x, SeekOrigin.Begin)
か? それとも、ファイルへの書き込み (およびそれを変更すること) に利点がありますか? それとも、本当の違いはありませんか?
c# - BinaryWriter の問題 - 「コードは Write() メソッドの間にバイトを追加します」
BinaryWriter と Then BinaryReader を使用してコードを実行しようとしています。書きたいときは、メソッド Write() を使用します。しかし、問題は、Write メソッドの 2 行の間に、10 進数の 31 (24 の場合もある) の ASCII テーブルにある新しいバイトが現れることです。この画像でそれを見ることができます:
インデックス 4 のバイト (5 番目のバイト) が ASCII 10 進値 31 であることがわかります。そこには挿入しませんでした。ご覧のとおり、最初の 4 バイトは数値 (Int32) 用に予約されており、次は他のデータです (主に一部のテキスト - これは重要ではありません)。
コードからわかるように、私は次のように書いています。
5 番目のバイト (12 月 31 日) が間に入ったのはどうしてですか??
そして、これは私が持っているコードです:
.net - Delphi Prism:BinaryWriterの「Writeメソッド」はDelphiのWritelnメソッドと同じように機能しますか?
私はDelphiPrismを使用しており、次のようにBinaryWriterを使用してバイナリファイルを作成および書き込みています。
あなたへの私の質問はこれです。writeメソッドは、改行またはキャリッジリターンを使用せずに、行ごとに行を書き込むか、バイトごとにバイトを書き込むか、文字を次々に書き込みますか?
私がこの質問をしている理由は、文字の配列のような特定の文字数なしで文字列を読み書きすることに関して私が混乱しているからです。
例えば:
それが私のプログラムを書いた方法であり、それはうまくいくようですが、私が言ったように私は混乱しています。
文字列データ型の場合、読み取りまたは書き込みに特定の長さの数値を指定せずに、読み取りまたは書き込みに使用するバイト数または文字数をどのように知ることができますか?