问题标签 [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[] 到 jbtearray
- jbytearray 到 jni 中的 unsinged char data2[]
这是我的问题:
unsigned char 的范围是 0 ~ 256
和 byte(in java) -128 ~ 127
所以,虽然 unsigned char 和 byte 之间的转换存在溢出,
phase1) data1 和 phase2) data2 是否正确且没有任何数据丢失?
在我看来,我记录了 data1 和 data2
他们看起来一样。
但是,我不明白它看起来如何(即使溢出)。
并假设它们是相同的,奇怪的是,在其他逻辑中有些事情进展不顺利......(Data1 用 AES 加密,我想用与 Data1 相同的方式解密 Data2)
前任。
任务阶段1)2、3和阶段2)1、2、3
会一样吗?
如果这种方式是错误的,我该怎么办?
java - 如何将加密数据从 c++ 传输到 java
我有一个使用JNI的简单加密程序(JAVA,C++。简而言之:我将一个简单的字符串传递给 C++ 程序。C++ 程序为我加密该字符串并返回密码字符串。我将为客户端打印密文。
问题:当我在 c++ 中加密并将其传递给 java 时,某些字符无法传输。但是当我使用 c++ 控制台打印它时,它是正确的。该字符之一是:
ü
C++ 控制台中的密文:
ozmzâx~w|(~i}|64ío(üuvt*po~,s|*nY|(yy~(ktztskk|sgX
在java中传输的密文:
ozmz?x~w|(~i}|64ío(?uvt*po~,s|*nY|(yy~(ktztskk|sgX
(a , ü 丢失)
因此,由于这个错误,当我想解密文本时,这些字符无法正确解密(但在 c++ 中解密正确!)
纯文本 :
您好,这是加密器测试的测试消息,我们将为我们的应用程序测试它
密文java:
rmvpy4*Prq},s u~m}x uos}iqi rybozmz?x~w|(~i}|64ᄀo(?uvt po~,s|*nY|(yy| (ktztskk|sgX
解密文本:
您好,这是一个 encrケptor test 的测试消息,キe キ将为我们的应用程序测试它
(在“加密器”、“我们”和“将”中失败)我该怎么办?
我以 jbyteArray 格式将字符从 c++ 传输到 java。
C++ 代码:
}
JAVA代码:
android - 我正在尝试修改一个字节数组并通过 JNI 将其从 c++ 发送到 java
这是我的功能:
并且它总是会在这个 LOG:LOGI("FrameReceived will reach here 5");
之后在 FOR 循环中崩溃。我在这里做错了什么?这就是我想要在 NDK 中实现的目标:
public byte[] I420toNV21(final byte[] input, byte[] output, final int width, final int height) { if (output == null) { output = new byte[input.length]; } 最终 int 大小 = 宽度 * 高度;最终 int 四分之一 = 大小 / 4;最终 int v0 = 大小 + 四分之一;
所以我可以将 corect 格式的字节数组发送到 java。并且不必在我的 java 代码中执行此方法。为什么不能将for循环中的值添加到字节数组中?
java - 如何转换 ArrayList向量对于 JNI?
我想将java中的ArrayList转换为c++中的vector。我怎样才能做到这一点?
Input:c++中的jobject input,即JAVA中的ArrayList。输出:c++中名为vector的类;
//找到jclass 4 ArrayList,只测试jposCommits和jnegCommits是ArrayList的实例
下一步我能做什么
c++ - 如何将 jbyteArray(或字节数组)写入 txt 文件 c++?
我有一个格式为 c++ 中的 jbytearray 的图像。我需要将其写入 txt 文件。我在 stackoverflow 上做了很多解决方案,但没有一个对我有用。
当我将 jbyteArray 转换为 char * 时,它写入成功,但我需要将它写为 jbyteArray,因为我需要在 java 和 c++ 中比较 jbyteArray 的内容。我将来自 c++ 的 jbyteArrays 写入 txt 文件,并且我需要在 c++ 部分中写入 jbytesArray。因此我需要将 jbyteArray 写为 jbyteArray 而不是 char *
这是我尝试过的;
试验 1
试验 1 的问题
“jbyteArray”类型的参数与“const char *”类型的参数不兼容
非常感谢您。