`

JNA正确转换字符串编码

阅读更多
c里面没有原生字符串,Windows下的LPCTSTR实际上是一个字节数组指针,JNA进行LPCSTR -> String映射的时候会先将LPCSTR映射为byte[],再根据系统属性"jna.encoding"的值返回new String(byte[],jna.encoding),反之亦然。

当"jna.encoding"为null时Java会以默认的UTF-8进行编码,如果这个本地库是非Unicode的就会产生乱码。

要避免乱码,在应用启动时加一个
System.setProperty("jna.encoding", stringEncoding);

即可,在简体中文Windows下stringEncoding为GBK。
分享到:
评论
4 楼 ceoshun 2017-07-28  
   谢谢!
3 楼 shanyejunjie 2015-02-13  
  顶!!
2 楼 ve7ev 2014-10-14  
    这个方法很管用
1 楼 clarkamx 2013-08-06  
这个方法很管用!

相关推荐

    (002)Jna转换器(可运行)

    【注意】这是一款JNA转换器源码(能使用运行) JNA类库使用一个很小的本地类库sub 动态的调用本地代码。程序员只需要使用一个特定的java接口描述一下将要调用的本地代码的方法的结构和一些基本属性。这样就省了为了...

    JNA 转java接口以及指针结构体解析

    经过几天的奋战,终于让我搞懂了JNA的解析以及指针在结构体中的应用!!!下了很多的资料,里面包含c++的.h头文件,给需要帮助的人看看!! 里面包含代码以及解析过程。

    jna.rar_java 串口_jna_串口_串口调试

    jna ava调试串口 ava调试串口ava调试串口

    C++头文件转JAVA JNA接口类

    一个将C++头文件转JAVA JNA接口类的工具类,方便java程序调用C++ DLL的接口

    jna-4.5.1 , jna-4.5.1-sources , jna-platform-4.5.1 jar包

    jna-4.5.1 , jna-4.5.1-sources , jna-platform-4.5.1 jar包 JNA全称Java Native Access,是一个建立在经典的JNI技术之上的Java开源框架(https://github.com/twall/jna)。JNA提供一组Java工具类用于在运行期动态...

    jna 小例子

    使用jna操作(C或C++)编写的dll动态链接库,其中包括了各种函数操作类型和声明类型,包括基本函数、引用、指针类型,结构体、结构的引用、结构体指针。回调函数等等

    jna-5.5.0.jar中文文档.zip

    # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...

    JNA实例 JNA实例 JNA实例

    JNA实例=======================================================JNA实例

    jna-5.4.0.jar中文文档.zip

    # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...

    JNA-5.7.0 jna-platform-5.7.0

    JNA-5.7.0 jna-platform-5.7.0

    jna-5.0.0.jar中文文档.zip

    # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...

    JNA最新源文件jar包

    使用JNI调用共享类库(.dll/.so文件)是非常麻烦的事情,既需要编写java代码,又要编写C语言的代理方法,这其中需要很多数据类型的转换,是让人非常头痛。JNA框架就是为了解决这些问题和繁琐的事情而开发的,它提供...

    jna-4.3.0-API文档-中文版.zip

    赠送jar包:jna-4.3.0.jar; 赠送原API文档:jna-4.3.0-javadoc.jar; 赠送源代码:jna-4.3.0-sources.jar; 赠送Maven依赖信息文件:jna-4.3.0.pom; 包含翻译后的API文档:jna-4.3.0-javadoc-API文档-中文(简体)版...

    jna-4.1.0-API文档-中文版.zip

    赠送jar包:jna-4.1.0.jar; 赠送原API文档:jna-4.1.0-javadoc.jar; 赠送源代码:jna-4.1.0-sources.jar; 赠送Maven依赖信息文件:jna-4.1.0.pom; 包含翻译后的API文档:jna-4.1.0-javadoc-API文档-中文(简体)版...

    jna-4.0.0.jar中文文档.zip

    # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...

    jna-5.9.0.jar

    2021 最新JNA jar包,jna-5.9.0

    jna整合包-jna4.5.0+jna4.0.0.rar

    jna4.0.0.jar和jna-4.5.0 jar 两个jar包的整合

    jna-5.10.0.jar中文文档.zip

    # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...

    jna-4.5.2.jar中文文档.zip

    # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖...

Global site tag (gtag.js) - Google Analytics