Android 小技巧总结

JNI技巧

char*转jbyteArray

jbyteArray getByteArray(JNIEnv *env,const char* buf, int len){

    jbyteArray byteArray = env->NewByteArray(len);
    jbyte* bytes = ( jbyte* )buf;

    env->SetByteArrayRegion(byteArray, 0, len, bytes);
    free((void *)buf);
    return byteArray;
}

jstring转string

string getString(JNIEnv *env, jstring javaString){
    const char *str = env->GetStringUTFChars(javaString, JNI_FALSE);
    string ret = string(str);
    env->ReleaseStringUTFChars(javaString, str);
    return ret;
}

char*, string转jstring

jstring Tools::getJString(JNIEnv *env, string str){
    return getJString(env, str.c_str(), str.length());
}

jstring Tools::getJString(JNIEnv *env, const char *buf, int len){
    return env->NewStringUTF(buf);
}

Java技巧

byte[]转16进制字符串

public static String toHex(byte[] buf) {
        if (buf == null)
            return "";
        StringBuffer result = new StringBuffer(2*buf.length);
        for (int i = 0; i < buf.length; i++) {
            appendHex(result, buf[i]);
        }
        return result.toString();
}

private final static String HEX = "0123456789ABCDEF";
private static void appendHex(StringBuffer sb, byte b) {
    sb.append(HEX.charAt((b>>4)&0x0f)).append(HEX.charAt(b&0x0f));
}

16进制字符串转byte[]

public static byte[] toByte(String hexString) {
    int len = hexString.length()/2;
    byte[] result = new byte[len];
    for (int i = 0; i < len; i++)
        result[i] = Integer.valueOf(hexString.substring(2*i, 2*i+2), 16).byteValue();
    return result;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,295评论 0 17
  • 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是...
    艾小天儿阅读 17,864评论 0 2
  • 普通人这一辈子就是活在别人的眼光里。 小时候,爸妈害怕我们学习不好,别人说怎么生个这么笨的孩子;长大了,
    天圣星辰阅读 241评论 0 0
  • 合欢花,不为人知的花种,不似牡丹富贵,不似梅花高洁,不似荷花出淤泥而不染。它默默地盛开在山间河边,抒写着属于...
    迟皖阅读 530评论 0 3
  • 北京西部,与河北交界,连绵山峦之中,有个叫清水的地方,山青水秀,常年云雾缭绕,着实名副其实!四年前有幸在这...
    寻核舍阅读 764评论 4 1

友情链接更多精彩内容