問題タブ [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.

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

c++ - JNIを使​​用してjbyte配列をJavaメソッドに送信できませんでした

次の Java メソッドを検討してください。

Qandroid JNIを使​​用してc ++からこのメソッドを使用しようとしました。これが私がc ++で書いたコードです:

Java コードの署名によると。callMethod を正しく使用していますか? まったく動かないのはなぜですか?コンソールには何も出力されません!例外もエラーもありません!


ご参考までに、JNIを使​​用してUSBシリアルデバイスを開こうとしています。デバイスを正常に開き、UsbDeviceConnection オブジェクトを取得しました。セリアポートが正常に開かれ、すべてがうまく機能しています。しかし、ここでは書き込み機能は機能しません。機能には全く入っていないようです。エラーは発生しません。問題は、署名文字列またはメソッドに提供したバッファ オブジェクトにあると思いますか? それについてどう思いますか。 助けてくれてありがとう。

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

java - JNI C++ -> Java ビットマップ ヘッダー情報とバイトを jbytearray に

私は JNI を使用して C++ から Java に画像を渡しています。jbyteArrayのバイトをbyte[]で Java に送信しようとしています。ただし、送信されるバイトのサイズで何かをしなければならない可能性が最も高いエラーが発生しています。

同じ値を持つものを試しint len = dwBmpSizeましたが、jvm がクラッシュし続けます。

jbyteArray を初期化する正しいバイト数は?

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

java - unsigned char 配列から jbytearray への変換とデータ損失

unsigned char 配列を jbytearray に、jbytearray を unsigned char 配列に変換したい。

これが私がやりたいことです:

フェーズ 1)

  1. unsigned char data1[] を jni の jbytearray に。
  2. javaのjbytearrayからbyte[]へ
  3. base 64 エンコーディング byte[] を String に変換し、ファイルに保存します。

フェーズ2)

  1. 保存したファイルから文字列を読み込む
  2. base 64 デコード文字列から byte[]
  3. byte[] から jbtearray
  4. 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

同じになりますか?

この方法が間違っている場合、どうすればよいですか?