我正在做一个模糊媒体播放器的项目.我用Java编写了文件生成器,并用C编写的原始压缩代码转换了CRC生成器.我可以用DataOutputStream编写数据,但我无法弄清楚如何在java中将数据作为无符号字符数组发送.在C中,这是一个非常简单的过程.我已经非常彻底地搜索了一个解决方案,我发现最好的解决方案就是将数据发送到C并让C返回CRC.我可能只是没有正确搜索,因为我对这些东西很不熟悉.非常感谢您的帮助.
你肯定想要一个byte [].'byte'相当于C中的signed char .Java的"char"是一个16位的unicode值,根本不是等价的.
如果它是用于模糊测试,除非你正在使用的CRC功能有什么特别之处,我想你可以简单地使用:
import java.util.Random; Random randgen = new Random(); byte[] fuzzbytes = new byte[numbytes]; randgen.nextBytes(fuzzbytes); outstream.write(fuzzbytes, 0, numbytes);