我工作的一个项目,模糊化的媒体播放器。我用Java写的文件生成和用C写的,我可以写罚款DataOutputStream类数据的原始压缩代码转换的CRC生成器,但我无法弄清楚如何将数据发送如Java中的无符号字符数组。在C语言中,这是一个非常简单的过程。我已经寻找一个解决方案几乎完全是,我已经找到了最好的解决方案是只将数据发送到C和设C返回CRC。我可能只是无法正确搜索因为我这个东西很陌生。非常感谢您的任何帮助。

有帮助吗?

解决方案

您肯定想一个byte []。 A“字节”等同于C. Java的“字符”一个符号字符是一个16位的Unicode值,并没有真正等同的。

如果它是模糊的,除非有什么特别的你正在使用的CRC功能,我想你可以简单地使用:

import java.util.Random;
Random randgen = new Random();

byte[] fuzzbytes = new byte[numbytes];
randgen.nextBytes(fuzzbytes);
outstream.write(fuzzbytes, 0, numbytes);

其他提示

我怀疑你想要做什么字符。我看不到你的描述的任何提示的文本的操作,这是你与角色做什么。

您想使用一个字节数组。这是一个位的字节在Java中都签订了痛苦的,但一个字节数组是你有什么 - 只是这些位模式工作,而不是他们的思想为实际数字,并仔细检查每个操作

大多数CRC运营商使用大多按位偏移和异或。这些应该可以正常工作于Java,不支持无符号整数元。如果需要其他运算才能正常工作,你可以尝试转换成一的的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top