java用jna调用dll乱码问题

爱上一只狐 2013-02-27 05:09:55
描述:1、用c语言把数据库数据加密(ascii编码)导出到一个文本文件,假设为a.txt
2、提供了一个dll,和一个秘钥,以及调用方法。方法的返回值是String类型的
3、用c#走整个流程(加载dll,a.txt的数据,调用方法)返回正确的String
问题:使用java用jna重新走整个流程,结果中文出现乱码,其它都是对的。
加密数据如下形式:06A6674E73F5332EEED8892DF7B517D60BD0900565862037243862278997E...
java解密之后:
我怀疑dll解析成中文之后,在传给java的时候出问题了。
有什么办法可以解决吗?
...全文
413 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱上一只狐 2013-03-04
  • 打赏
  • 举报
回复
今天试了一下,让同事变成byte[],然后我读取这个数组在进行编码转化,结果成功了,说明还是把它变为底层的byte再进行处理比较靠谱。说明了一个问题,dll里面解析出来的字符串,在java环境转变的时候出问题了,所以以后尽量底层进行转换
爱上一只狐 2013-02-28
  • 打赏
  • 举报
回复
我把java能用到的编码遍历了一下,进行转码,还全部是乱码。我让同事变成字节传给我试试
wangjinlong3768038 2013-02-27
  • 打赏
  • 举报
回复
一般就是编码问题了,转码试试先咯

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧