jbyteArray转c++byte数组

转载 2011年01月11日 18:03:00

原作者写的很详细,

收藏了

请谅解

 

 jbyteArray转c++byte数组

 

jbyte * arrayBody = env->GetByteArrayElements(data,0);

jsize theArrayLengthJ = env->GetArrayLength(data);

BYTE * starter = (BYTE *)arrayBody;

jbyteArray 转 c++中的BYTE[]

//jbytearray strIn

jbyte * olddata = (jbyte*)env->GetByteArrayElements(strIn, 0);

jsize  oldsize = env->GetArrayLength(strIn);

BYTE* bytearr = (BYTE*)olddata;

int len = (int)oldsize;

C++中的BYTE[]转jbyteArray

//nOutSize是BYTE数组的长度 BYTE pData[]

jbyte *by = (jbyte*)pData;

jbyteArray jarray = env->NewByteArray(nOutSize);

env->SetByteArrayRegin(jarray, 0, nOutSize, by);

jbyteArray 转 char *

char* data = (char*)env->GetByteArrayElements(strIn, 0);

char* 转jstring

jstring WindowsTojstring(JNIEnv* env, char* str_tmp)
{
 jstring rtn=0;
 int slen = (int)strlen(str_tmp);
 unsigned short* buffer=0;
 
 if(slen == 0)
 {
  rtn = env->NewStringUTF(str_tmp);
 }
 else
 {
  int length = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)str_tmp, slen, NULL, 0);
  buffer = (unsigned short*)malloc(length*2+1);
  if(MultiByteToWideChar(CP_ACP, 0, (LPCSTR)str_tmp, slen, (LPWSTR)buffer, length) > 0)
  {
   rtn = env->NewString((jchar*)buffer, length);
  }
 }
 if(buffer)
 {
  free(buffer);
 }
 return rtn;
}

下面这个没有用过,刚看到,也写进来,以后如果遇到可以验证下看。

jstring 转 char* 或者 const char*

// jstring str

const char *key = env->GetStringUTFChars(str, 0);

//jboolean isOffer

jsClient->modify(key, isOffer);

env->ReleaseStringUTFChars(str, key);


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yuanpolo/archive/2010/05/17/5601998.aspx

相关文章推荐

jbytearray转c++byte数组

byte * arrayBody = env->GetByteArrayElements(data,0);  jsize theArrayLengthJ = env->GetArrayLengt...

byte数组截取转基本数据类型

  • 2017年04月05日 15:22
  • 5KB
  • 下载

c++中获取jbyteArray 的长度并转为char *

char * 风格最后有一个 \0,因此必须考虑到。 ================== 参考 http://www.cnblogs.com/lxbblogs/p/3337128.htm...

image与字节数组byte的互转

  • 2012年05月17日 12:11
  • 28KB
  • 下载

c#调用c++写成的dll文件,返回char*,返回数组,用ref接收,byte[] (zz)

c#调用c++写成的dll文件,返回char*,返回数组,用ref接收,byte[] ,最近做个项目,又想不起来了。这下Mark一下 / Inclusion guard #ifndef _...

16进制字符串与byte数组互转

16进制字符串与byte数组互转public class Test1 { private static String hexSrc = "01 DA 20 C9 38 57"; priv...

hex字符串与byte数组互转

Toolkit类中的工具方法 /** * hex字符串转byte数组 * 2个hex转为一个byte * @param src * @return */ public st...

Java byte[] 字节数组 转 二进制 八进制 十进制 十六进制字符串

【前言】 java中很多时候需要将byte[]转为各种进制的
  • uikoo9
  • uikoo9
  • 2014年06月01日 19:52
  • 24328

Bitmap转灰度字节数组byte[]

工作中遇到图片转灰度数组的需要,经过研究和大神的指导,最终得到如下两个方法,可以实现位图转灰度数组 简单的位图转灰度数组就是:得到位图中的每个像素点,然后根据像素点得到RGB值,最后对RGB值,根据...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: jbyteArray转c++byte数组
举报原因:
原因补充:

(最多只允许输入30个字)