問題タブ [bytearray]
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# - Oracle DB へのアップロード前後のファイルの不一致
ユーザーがさまざまなファイル (HttpPostedFile) をアップロードできるように Web サイトを取得しようとしています。これらのファイルは、BLOB として Oracle データベースに格納されます。ここに私がこれまでに持っているものがあります:
ファイルは正常にアップロードおよびダウンロードされますが、ダウンロードされたファイルはアップロードされたファイルと同じではありません。コンテンツがデータベースに出入りするファイルと同じであることを既に確認しました。つまり、ファイルが正しく変換されていないか、クライアントによって正しく保存されていません。2 つのファイルのディスク上のサイズは同じですが、Windows では異なります。16 進エディタによると、ダウンロードされたファイルのコピーでは、ファイルの先頭で 3 バイトが欠落しているようです。
ファイルをクライアントに転送するために使用しているものは次のとおりです。Response.AddHeader("Content-Disposition", "attachment; filename=" + fileinfo[1]);
Response.AddHeader("Content-Length", filedata.Length.ToString());
Response.ContentType = "アプリケーション/オクテット ストリーム"; Response.BinaryWrite(ファイルデータ);
どんな助けでも大歓迎です。
asp.net - 文字列をバイト配列に変換するための適切なエンコードは何ですか
ファイルをアップロードする ASP.NET HTTPHandler のエンコーディングに何らかの問題があります。ファイルの内容は、「ToBase64」と呼ばれるものを使用している ColdFusion Web ページから非表示のフォーム変数に渡されます。
ColdFusion では、ファイルの内容をフォームに配置するために使用されるコードは次のとおりです。
私の UploadHandler.ashx が投稿されると、次のようにフォームから文字列を取得しています。
次に、次のように文字列をバイト配列に変換しています。
文字列を変換するために使用している関数は次のとおりです。
EncodingType.ASCII を使用して上記の関数を呼び出すことが間違っていることは明らかですが、何が正しいのか非常に混乱していますか? ColdFusion から送信された「Base64」と、.Net で文字列をエンコードする方法との適切な「一致」は何ですか?
すべてのコードが「機能する」ことに注意してください。ただし、その後のファイルの取得では、ファイルがスクランブルされていることが示され、ここで間違ったエンコーディングを使用していると確信しています。
編集更新:
以前に省略した列挙コードを追加しました。これらのエンコーディング タイプはすべて試しました。それらはすべて「ガベージ」になります。つまり、次のバリエーションをそれぞれ試しました。
これらはどれも正しく機能しません。提案された関数を読んだところ、Unicode である必要があります。変換された文字列ではなく、バイト配列を返したいことに注意してください。まだ非常に混乱しています。
答え:
私は単純に列挙型と私が書いた StringToByteArray と呼ばれる関数を削除しました。代わりに、次のようにコーディングしました。
qt - QByteArray を整数に
タイトルからわかるかもしれませんが、aQByteArray
を整数に変換する際に問題が発生しています。
ただし、size
は 0 です。buffer
は ASCII 文字を受け取りません。ASCII 文字でtoInt()
ない場合、関数は機能しないと思います。はint size
37 (0x25) である必要がありますが、前述のとおり、0 です。
は(または他のエンディアン順 - ) ですq_size
。0x2500
0x0025
ここで何が問題ですか?q_size
必要なデータを保持していると確信しています。
java - Java で InputStream をバイト配列に変換する
InputStream
全体をバイト配列に読み込むにはどうすればよいですか?
php - vb.net バイトを php に変換する
VB.netに次のコードがあります
それをphpに変換しようとしています。
それはうまくいきません。
以下の完全なphpコード:
VB.net コード:
c# - int を byte[] にコピーする最も簡単な方法
byte[] があり、int (およびその他のデータ) のリストを反復処理しています。int を byteArray[index*4] にコピーしたいのですが、どうすればよいですか?
vb.net - .NETで構造体をバイト配列に変換する
My.Computer.FileSystem.WriteAllBytesなどを使用して、固定長の文字列で構成される構造をファイルに書き込みたい。
VB.Netに変換した固定長の文字列を含むVB6プロジェクトを使用しています。
C#でのマーシャリングはまだ新しいですが、ファイルに書き込むためにこの構造をバイト配列にするにはどうすればよいでしょうか。マーシャリングのトリックはありますか、それともカスタムメソッドを作成する必要がありますか?
java - バイト配列を格納するJava文字列
Stringオブジェクトにラップされたバイト配列を格納したい。これがシナリオです
- ユーザーがパスワードを入力します。
- そのパスワードのバイトは、getBytes()Stringメソッドを使用して取得されます。
- これらのバイトは、Javaのcrypoパッケージを使用して暗号化されます。
- これらのバイトは、コンストラクターnew String(bytes [])を使用して文字列に変換されます。
- その文字列は保存されるか、他の方法で渡されます(変更されません)
- その文字列のバイトが取得され、エンコードされたバイトとは異なります。
これが私が話していることを説明するコードの抜粋です。
ここで、env.encrypt()とenv.decrypt()は暗号化と復号化を行います。私が抱えている問題は、b配列の長さが8で、c配列の長さが16であるということです。これらは等しいと思います。何が起きてる?以下のようにコードを変更してみました
しかし、それは役に立ちませんでした。
何か案は?
c - バイト配列をdoubleに変換-c
次のように、16要素のバイト配列から数値(double)値を取得しようとしています。
しかし、それは機能しません。左シフトの結果を含む一時変数は、8ビットの4シフト操作後にオーバーフローするため、32ビットしか格納できないようです。
私は次のようなものを使用できることを知っています
しかし、好奇心のために、シフト演算子を使用してこの問題の解決策があるかどうか疑問に思いました...
c# - C# - *.wav ファイルをバイト配列にロードするときの不正なデータ
次のように、C# 3.0 と .NET 3.5 を使用して *.wav ファイルをバイト配列にロードしようとしています。
byte[58] から最後 (~50k バイト) まで、すべての値は 127 または 128 です (最初の ~58 バイトはヘッダーのものだと思いますか?)。
Wave ファイルは、Windows メディア プレーヤーやその他のプレーヤーで正常に再生されます。問題はないと確信しています (WinXP のサウンド レコーダーで録音されています)。
Wave ファイル情報:
BitRate : 176kbps
音声サンプルサイズ: 8bit
音声サンプルレート: 22kHz
音声フォーマット: PCM
.NET SoundPlayer を使用してバイト ストリームを再生しようとすると、ひどく聞こえます :-) 何かアイデアはありますか?
[解決済み]
結局、これは問題ではなかったので、本当のバグを探し続ける必要があります。