JNA JNI呼叫三方dll檔案時出現亂碼

2021-09-12 11:00:11 字數 503 閱讀 6861

先說方法:

在實現的類裡,利用靜態**塊加上這句:system.setproperty("jna.encoding","gbk");

如我的jna類是:

public inte***ce control extends library
然後我的實現類裡:

public class helper 

//方法略

}

編碼引數也不一定是gbk,但是我的三方庫是gbk編碼所以這裡是gbk,根據個人情況而定。

吐槽:看了網上一堆修改檔案編碼格式的方法,是可行的,但是太繁瑣了。。。我本身專案是utf8編碼的。本來這個dll我已經用在了好幾個專案裡,因為這個問題我都給以前的專案編碼是gbk的,然後無意中看到了這個方法,特此記錄,神來之筆(就是我見識短淺不知道。。。。)。

但是目前還有就是不知道有沒有64位jdk能呼叫32位dll的方法,如果有路過的大神還希望賜教!

好了,告辭!

VS QT 呼叫第三方庫dll總結

假設外部第三方庫為 test.h,test.lib,test.dll,呼叫的函式是 int fntest int param 靜態呼叫需要用到第三方的檔案 h dll lib靜態呼叫跟使用本專案內的函式差不多,區別的一點在於本專案內的函式要在被呼叫之前宣告,靜態呼叫需要把第三方的標頭檔案 h 和li...

呼叫第三方應用開啟檔案

通過第三方應用開啟指定格式 本例為pdf格式 的檔案 在 private void openfile file file uri path intent intent if build version.sdk int build.version codes.n else startactivity ...

給第三方dll強簽名

假若我們要對第三方控制項或者是其他的沒有源 的dll檔案想做類似的處理,增加強名稱簽名,怎麼處理,是很多人都會面對的問題。步驟 1.首先採用反彙編工具ildasm生成中間語言。ildasm mytest.dll out mytest.il 生成的結果包括mytest.il檔案和mytest.res檔...