我需要用Java编写代码,以便在HEX中查找字符串的CRC值。我想像here那样做。例如,如果输入为 00001111110000 ,则CRC值为 E7 。我并不是真的了解整个计算,所以我在Java中搜索了代码,并找到了this。但不幸的是,这段代码返回238,这在HEX中是 EE ,所以它出了问题,但我不明白。
this question的答案中的代码也会给出169作为结果,即 A9 ,这也是错误的。
您能告诉我,this code出了什么问题,或者我在哪里可以找到返回正确CRC值的Java代码?
提前致谢。
重要: 请不要将这个问题标记为重复,因为我已经尝试了很多代码来处理类似的问题,但是没有一个能帮助我,所以我需要一个答案来帮助我解决我的问题。
修改 这是代码,我如何调用CRC计算器,它返回238,在HEX中 EE :
MaximCRC maximCRC = new MaximCRC();
ArrayList<Integer> id = new ArrayList<>();
String data = "00001111110000";
for (int i = 0; i<data.length();i++){
id.add(Integer.parseInt(Character.toString(data.charAt(i)),16));
}
Log.e(TAG, "checksum " + String.valueOf(maximCRC.getDowCRC(id)));