读书人

JNI传递十六进制字符串参数有关问题

发布时间: 2013-07-08 14:13:00 作者: rapoo

JNI传递十六进制字符串参数问题
java里传递这种字符串

ep.exCapability = "\0x6F\0x00\0xF0\0x10\0x01";

c里只能识别\x 不能识别\0x,因为\0被当作结束符处理。
我想请问下传递我这种字符串到c中 JNI里要怎么处理让c可以把这个字符串当作十六进制处理,而不是当作单个的字符串处理。

我现在处理的是
const char *mn = (*env)->GetStringUTFChars(env, mn_emv, 0);
把接收到的jstring转成char*,然后赋值给一个char[],但是没法识别成十六进制,所以赋值结果成了char[0]='\';char[1]='0'这种,而我需要的是char[0]=0x6F这样的结果、。
[解决办法]
0x6F 就是个显示,其实还是用二进制方式保存的
[解决办法]
为什么调用的时候(*env)前面老是多个*

读书人网 >Android

热点推荐