問題タブ [jbytearray]
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++ - JNIを使用してjbyte配列をJavaメソッドに送信できませんでした
次の Java メソッドを検討してください。
Qandroid JNIを使用してc ++からこのメソッドを使用しようとしました。これが私がc ++で書いたコードです:
Java コードの署名によると。callMethod を正しく使用していますか? まったく動かないのはなぜですか?コンソールには何も出力されません!例外もエラーもありません!
ご参考までに、JNIを使用してUSBシリアルデバイスを開こうとしています。デバイスを正常に開き、UsbDeviceConnection オブジェクトを取得しました。セリアポートが正常に開かれ、すべてがうまく機能しています。しかし、ここでは書き込み機能は機能しません。機能には全く入っていないようです。エラーは発生しません。問題は、署名文字列またはメソッドに提供したバッファ オブジェクトにあると思いますか? それについてどう思いますか。 助けてくれてありがとう。
java - JNI C++ -> Java ビットマップ ヘッダー情報とバイトを jbytearray に
私は JNI を使用して C++ から Java に画像を渡しています。jbyteArrayのバイトをbyte[]で Java に送信しようとしています。ただし、送信されるバイトのサイズで何かをしなければならない可能性が最も高いエラーが発生しています。
同じ値を持つものを試しint len = dwBmpSize
ましたが、jvm がクラッシュし続けます。
jbyteArray を初期化する正しいバイト数は?
java - unsigned char 配列から jbytearray への変換とデータ損失
unsigned char 配列を jbytearray に、jbytearray を unsigned char 配列に変換したい。
これが私がやりたいことです:
フェーズ 1)
- unsigned char data1[] を jni の jbytearray に。
- javaのjbytearrayからbyte[]へ
- base 64 エンコーディング byte[] を String に変換し、ファイルに保存します。
フェーズ2)
- 保存したファイルから文字列を読み込む
- base 64 デコード文字列から byte[]
- byte[] から jbtearray
- jbytearray から unsinged char data2[] へ jni
これが私の質問です:
unsigned char の範囲は 0 ~ 256
および byte(Java の場合) -128 ~ 127
というわけで、unsigned char と byte の間の convert でオーバーフローはあるものの、
フェーズ 1) データ 1 とフェーズ 2) データ 2 は、データ損失なしで正しく同じですか?
私の意見では、data1とdata2を次のように記録しました
そしてそれらは同じように見えました。
しかし、それがどのように見えるか理解できません(オーバーフローしても)。
そして、それらが同じであると仮定すると、奇妙なことに、他のロジックで何かがうまくいかない....(Data1はAESで暗号化されており、Data2をData1と同じで復号化したい)
元。
タスクフェーズ 1) 2, 3 およびフェーズ 2) 1,2,3
同じになりますか?
この方法が間違っている場合、どうすればよいですか?