`
philip01
  • 浏览: 47108 次
  • 来自: ...
社区版块
存档分类
最新评论

jni 中文

JNI 
阅读更多

char* jstringToWindows( JNIEnv *env, jstring jstr )
{
 int length = (env)->GetStringLength(jstr );
 const jchar* jcstr = (env)->GetStringChars(jstr, 0 );
 char* rtn = (char*)malloc( length*2+1 );
 int size = 0;
 size = WideCharToMultiByte( CP_ACP, 0, (LPCWSTR)jcstr, length, rtn,(length*2+1), NULL, NULL );
 if( size <= 0 )
  return NULL;
 (env)->ReleaseStringChars(jstr, jcstr );
 rtn[size] = 0;
 return rtn;
}


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

分享到:
评论

相关推荐

    解决JNI中文乱码

    解决JNI中文乱码,

    android jni 中文字符传递demo

    描述提到"实现了C语言与java端之间互相传递汉字的功能",这意味着这个示例项目包含了一个完整的解决方案,演示了如何在两端进行正确编码和解码,以确保中文字符在转换过程中不被破坏。通常,这会涉及到Java的`String...

    使用JNI调用本地接口(解决中文字符传递,源码+说明)

    本教程将详细讲解如何使用JNI调用本地接口,特别是在处理中文字符传递时遇到的问题。 首先,我们需要理解JNI的基本结构。在Java端,我们会定义一个native方法,这个方法没有具体的实现,而是通过关键字`native`声明...

    android NDK JNI 中文 资料 文档

    总之,这份“Android NDK JNI 中文 资料 文档”应当提供了从基础知识到实际操作的全面指南,帮助开发者深入理解如何在Android平台上利用NDK和JNI进行原生编程,提升应用性能和功能。通过学习和实践,开发者可以掌握...

    JNI传递中文字符串资料

    在JNI中处理中文字符串可能会遇到一些挑战,因为Java的Unicode编码与C/C++的标准字符集(如ASCII或ISO-8859-1)不完全兼容。本资料将详细介绍如何在JNI中正确地传递和处理中文字符串。 首先,我们需要理解Java和C/...

    JNI中文翻译

    ### JNI中文翻译详解 #### 一、前言与翻译初衷 JNI(Java Native Interface)作为一项重要的技术,允许Java代码与本地代码(如C或C++)之间进行交互。这项技术不仅增强了Java程序的功能,还使得开发人员能够在利用...

    JNI编程指南(中文版&英文版)

    JNI,全称Java Native Interface,是Java平台标准的一部分,它为Java程序员提供了一种方法,使得可以在Java程序中调用本地(非Java)代码,同时也能让本地代码调用Java对象。JNI在许多场景下非常有用,比如优化性能...

    JNI中文手册

    JNI,全称Java Native Interface,是Java平台提供的一种机制,允许Java代码和其他语言写的代码进行交互。这个接口定义了如何在Java应用程序中调用非Java代码,也允许非Java代码调用Java对象的方法。JNI在Java虚拟机...

    JNI API 中文完全手册

    JNI(Java Native Interface)是Java本地编程接口,它让Java代码与用C、C++等其他语言编写的程序和库进行交互。通过JNI,程序员可以实现Java代码无法完全覆盖的功能,例如,与平台相关的特定功能、与已存在非Java...

    JNI规范中文版

    本资源提供了JNI规范的中文版,对于那些正在学习或者已经涉足JNI和NDK编译的开发者来说,这是一个非常有价值的参考资料。 JNI的核心概念包括以下几个部分: 1. **本地方法接口**:JNI定义了一组函数,这些函数使得...

    JNI详解中文版本

    ### JNI详解中文版知识点概述 #### 一、JNI简介与重要性 JNI(Java Native Interface)是一种标准接口,由Sun Microsystems定义,旨在提供Java代码与本地代码(通常是C或C++编写的应用程序)之间的交互能力。JNI...

    JNI(Java Native Interface)中文手册

    ### JNI(Java Native Interface)中文手册关键知识点解析 #### 一、前言及背景 JNI(Java Native Interface)是Sun Microsystems公司定义的一套标准接口,用于实现Java代码与本地代码(通常是C或C++)之间的交互。...

    JNI编程指南中文版

    ### JNI编程指南中文版知识点详解 #### 一、引言:JNI的作用与适用场景 **JNI**(Java Native Interface)是Java平台的一项重要特性,它为开发者提供了将Java程序与本地代码(通常是指C/C++代码)进行集成的能力。...

    NDK + JNI (全中文文档)

    JNI中文文档详细介绍里边带示范案例 NDK中文文档详细介绍了如何搭建Android开发环境以及如何编写ndk的makefile编译脚本,如何使用jni+ndk在Android上开发c++程序 不多说,学习开发Android程序的好东西

    Java处理 Jni中的汉字问题

    JNI在处理跨语言数据时,尤其是在涉及非ASCII字符集,如中文等多字节字符时,可能会遇到编码问题。本文将详细讨论在JNI中处理汉字问题及其解决方案。 首先,问题出现在`JniSample.c`中的`GetStringUTFChars`函数。...

    zstd-jni-1.4.3-1-API文档-中文版.zip

    标签:github、luben、zstd、jni、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    JNI官方规范中文

    本资源是JNI的官方规范的中文翻译版,对于学习和理解JNI提供了极大的便利。 JNI规范主要包括以下几个核心概念和功能: 1. **本地方法接口**:JNI提供了一套接口,使得Java虚拟机(JVM)能够调用本地(非Java)代码...

    java jni 传递汉字参数,读写ini

    java jni 传递汉字参数,包括java传入dll 从dll传出到java 读写ini 包括全部 java 代码 工程文件 全部vc++6.0 Dll 代码 工程文件 找了好久资料才完成的,传上来省的大家再走弯路。

Global site tag (gtag.js) - Google Analytics