Java 调 C 中遇到的字符串转换
来源:互联网 发布:淘宝店铺如何进货 编辑:程序博客网 时间:2024/06/17 23:53
JNIEXPORT jint JNICALL Java_com_example_libdemo_类名_Init (JNIEnv *jenv, jclass jc, jstring jdevName) {char* devName = (char *)(jenv->GetStringUTFChars(jdevName, 0));chargDevName2[128] = {0};strcpy(gDevName2, devName);jenv->ReleaseStringUTFChars(jdevName, devName);return 0;}
JNIEXPORT jbyteArray JNICALL Java_com_example_libdemo_类名_func (JNIEnv *jenv, jclass jc) {unsigned charres[3074] = {0x10, 0x0a,0x0b,0x0c,0x0e, 0x0f};unsigned intresLen = 6;jbyteArrayjres = NULL;jres = jenv->NewByteArray(resLen);jenv->SetByteArrayRegion(jres, 0, resLen, (jbyte*)res);return jres;}
(3)java中调用func
byte[] recvData = 类名.func();if (recvData != null){// 在文本框中显示EditText editText3 =(EditText)findViewById(R.id.editText3); editText3.setText(byteArrayToHex(recvData).toCharArray(), 0, byteArrayToHex(recvData).length());}Java byteArrayToHex实现:
public static String byteArrayToHex(byte[] a) { StringBuilder sb = new StringBuilder(); for(byte b: a) sb.append(String.format("%02x", b&0xff)); return sb.toString(); }
C 字符串转成十六进制,例如字符串“0084000008”转换成 十六进制 00 84 00 00 08
static void tohex(char *hh, unsigned char *dd,int len){ int i = 0; char h1,h2; unsigned char s1,s2; for (i=0;i<len;i++){ h1 = hh[2*i]; h2 = hh[2*i+1]; s1 = toupper(h1) - 0x30; if (s1 > 9) s1 -= 3; s2 = toupper(h2) - 0x30; if (s2 > 9) s2 -= 3; dd[i] = s1*16 + s2; }}
//用EditText前,请先:import android.widget.EditText; //获取文本框1的文本 String str1=""; EditText editText1 =(EditText)findViewById(R.id.editText1); str1=editText1.getText().toString(); //将文本框1的文本赋给文本框2 EditText editText2 =(EditText)findViewById(R.id.editText2); editText2.setText(str1.toCharArray(), 0, str1.length());
阅读全文
0 0
- Java 调 C 中遇到的字符串转换
- 开发中遇到的JSON字符串转换的小问题
- MFC编程中遇到的一些字符串转换问题
- Java中字符串转换
- java中的字符串转换成c的字符串 工具方法
- JAVA中十六进制与字符串的转换
- Java 中 关于字符串类型的转换
- Java中字符串编码方式的转换
- java中一个字符串的大小写转换
- Java中字符串的大小写转换
- 实际中遇到的JSON与JAVA的转换问题
- Java编程中遇到的数据转换问题
- Java中JSon转换ArrayList遇到的异常
- java中字符串数组和字符串之间的转换
- Java字符串方法使用中遇到的问题
- JAVA 字符串 的转换
- C语言中字符串转换浮点数的问题
- C中#号的用法(宏转换字符串)
- mysql 用drop和delete方法删除用户的区别
- 【转】三维点云数据集
- HDU-1176-免费馅饼【二维dp】
- maven打包项目
- RxBinding基本使用
- Java 调 C 中遇到的字符串转换
- Java Thread.yield是个巨大的坑
- Java高并发,如何解决,什么方式解决
- ambari系列--报错问题2
- python元组与列表
- myeclipse安装maven
- Mac开发常用技巧
- Android总结的网站
- iOS开发: xib设置的button在选中状态之后显示小蓝点