JAVA 读 C编译的文件

不用了的号 2011-04-19 11:44:12
现在做一个项目,之前是C做的,c和java之前存在一个有符号和无符号byte的关系,现在我解密的时候都是用int型来装原来的C写的文件的byte型数据,问题出来了
原来byte型的,变成整型的呢,现在要将它转化成字符,我强转之后,可能会丢失精度,如果不强转,能否将int型的数据变成String类型的,求教!
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
不用了的号 2011-04-19
  • 打赏
  • 举报
回复
读文件都是以一个字节来读的,但是读出来了,要进行转型 像c里面的是无符号的,到java这来要变成有符号的,要进行与操作 &0xff,这样值就相等了,但是问题是,值相等了,可是在JAVA这边变成了int型 还不是byte型了,这里又设计到了一个转换的问题,之前的byte型数据是可以转换成中文的,在这里变成int了之后,我将如何再让它显示成中文……
goodmrning 2011-04-19
  • 打赏
  • 举报
回复
java中也有byte啊,可以与之对应。
amos1989 2011-04-19
  • 打赏
  • 举报
回复
这个我也不知道怎么办了。
Jeelon 2011-04-19
  • 打赏
  • 举报
回复
C中又不支持类 等答案吧 本人是不知道有什么方法了
不用了的号 2011-04-19
  • 打赏
  • 举报
回复
问题已经被我解决了,不过新的问题又出来了,去Android上提问了,谢谢大家的热心帮助!
chenzhen23 2011-04-19
  • 打赏
  • 举报
回复
换积分的。。
树成 2011-04-19
  • 打赏
  • 举报
回复
java中数据类型与C数据类型关系的定义在jni.h文件中有定义,你可以去看一下。
java中没有无符号类型,但是数据的本质不变,只是根据最高位的符号来判定正负而已,在java中有无符号右位移操作符>>>,你可以灵活运用它来实现一些数据准换的工作。
对于大数字,建议使用byte[]数组来进行数据交换,在java你可以使用BigInt类来处理,在C里面你可以使用指针。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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