私はメディアプレーヤーのファジープロジェクトに取り組んでいます。私はJavaでファイルジェネレータを書いて、Cで書かれた元の圧縮コードからCRCジェネレータを変換しました。私はDataOutputStreamでデータを正常に書き込むことができますが、データをjavaの符号なし文字配列として送信する方法はわかりません。 Cでは、これは非常に簡単なプロセスです。私は解決策をかなり徹底的に探しました。私が見つけた最良の解決策は、データをCに送信し、CにCRCを返させることです。私はちょうど私がこのようなものにかなり慣れていないので、正しく検索していないかもしれません。助けてくれてどうもありがとう。Javaの符号なしの文字配列
答えて
あなたは間違いなくバイト[]が必要です。 'バイト'はCの符号付き文字に相当します。Javaの「char」は16ビットのUnicode値であり、まったく同等ではありません。
使用しているCRC機能について特別な何かがありますしない限り、それは、ファジングのためなら、私はあなたが簡単に使用することができます想像:
import java.util.Random;
Random randgen = new Random();
byte[] fuzzbytes = new byte[numbytes];
randgen.nextBytes(fuzzbytes);
outstream.write(fuzzbytes, 0, numbytes);
私は間違いなく実際のオーディオデータにランダムなバイトを使用していますが、今は正当なヘッダーを作成してポイントなどを探しています。ありがとう、私は間違いなくバイト配列を試してみます。 – grossmae
文字で何かしたいとは思っていません。私はあなたの説明で何かを見ることができません。それはのテキストの操作を示唆しています。
バイト配列を使用します。 Javaでバイトが署名されているのは苦痛ですが、バイト配列はあなたが持っているものです。ビットパターンを実際の数字と考えるのではなく、慎重にチェックしてください。
彼はsignednessの面で苦労しているように聞こえますが、JavaのC charと同等のものはありません。ビットパターンのアドバイスは、しかし、固体です。 –
Matt:私はOPが苦闘していると思っていますが、 "byte"が記述に一度も現れないという事実は、バイト配列を使用すべきであることがわかっていることをかなり不明瞭にしています。 –
ほとんどのCRC演算子は、主にビット単位のシフトとXORを使用します。これらは、符号なし整数プリミティブをサポートしていないJavaで正常に動作するはずです。他の算術演算が適切に機能するようにするには、と短くにキャストしてみてください。
- 1. 符号なし文字配列を文字列に変換するためのJavaユーティリティ関数の作成
- 2. 符号なし文字配列を整数に変換する
- 3. iPhone - 文字列を符号なしの文字にキャストする
- 4. 符号なしの文字連結
- 5. Qtで符号なし文字配列のキューを作成するには?
- 6. 符号付き文字配列を符号なし整数に変換できますか?
- 7. 配列内の文字列、引用符または引用符なし
- 8. Java - 文字列の番号
- 9. 符号なし文字の配列を浮動小数点数の配列にキャストする
- 10. Javaの文字列と文字配列
- 11. 符号なし文字配列を初期化する方法は?
- 12. 「土地島」のような文字列の符号化
- 13. 文字列を符号なし整数に変換する
- 14. 符号化絵文字アイコン
- 15. 26ビットの符号なし整数の大きな配列
- 16. 符号なしの符号付き変換をJavaで逆
- 17. Webブラウザは、符号なしの文字配列を介して渡されたイメージを解釈しません。
- 18. Cの符号なしint配列のコピー
- 19. base-64との間の文字列の符号化
- 20. PHPとPythonの間の文字列データを符号化する
- 21. 文字列をJavaの文字列配列に変換する
- 22. ダックタイピング文字列、記号、配列のエレガントな方法は?
- 23. 配列と文字列のjavaジェネリック
- 24. Javaへの符号なしタイプ
- 25. 文字列の引用符
- 26. 符号なし整数のJava SQL準備文
- 27. 符号なしの文字を増減するには?
- 28. JavaとPHPの間の文字列の暗号化/復号化
- 29. Java文字列を暗号化
- 30. 文字配列の配列
なぜあなたはCからJavaへのポートにCRCルーチンを選んだのですか?それは非標準ですか?私はおそらくJavaで書かれたものを見つける方が簡単かもしれないし、他の言語のポートよりも最適化されているかもしれないからです。 –