「crcjava代码」crc 代码

博主:adminadmin 2022-11-30 10:42:08 45

本篇文章给大家谈谈crcjava代码,以及crc 代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

哪位大哥用java写过CRC8校验, 多项式X7 +X6 +X5 +X2 +1,求代码?

代码如下

public static byte CRC8(byte[] buffer)

      {

          byte crc = 0;

          for (int j = 0; j buffer.Length; j++)

          {

              crc ^= buffer[j];

              for (int i = 0; i 8; i++)

              {

                  if ((crc 0x01) != 0)

                  {

                      crc = 1;

                      crc ^= 0x8c;

                  }

                  else

                  {

                      crc = 1;

                  }

              }

          }

          return crc;

      }

用java编写一个获得CRC校验码的javabean

private static String mkCrc16(String str) {

CRC16 crc16 = new CRC16();

byte[] b = str.getBytes();

for (int i = 0; i b.length; i++)

crc16.update(b[i]);

return Integer.toHexString(crc16.value);

}

private static String mkCrc(String string) throws Exception {

CRC32 crc32 = new CRC32();

crc32.update(string.getBytes());

return Long.toHexString(crc32.getValue());

}

public class CRCUtil {

public static final int evalCRC16(byte[] data) {

int crc = 0xFFFF;

for (int i = 0; i data.length; i++) {

crc = (data[i] 8) ^ crc;

for (int j = 0; j 8; ++j)

if ((crc 0x8000) != 0)

crc = (crc 1) ^ 0x1021;

else

crc = 1;

}

return (crc ^ 0xFFFF) 0xFFFF;

}

}

C++ c 版的CRC校验uinit16转为java版代码编写,结果转为两字节的16进制数怎么写代码

short city_com_get_crc(short[] pData, short length) {

short crc = 0, q;

short c, i;

for(i = 0; i length; i++) {

c = pData[i]; q = (crc ^ c) 0x0F;

crc = (crc 4) ^(q * 0x1081);

q = (crc ^(c 4)) 0xF0;

crc = (crc 4) ^(q * 0x1081);

}

return (((crc 8) 0xFF00) | ((crc 8) 0xFF));

}

随便丢到哪个类里面吧。

CRC16 c转成java问题?

pFrame是一个结构体指针,++ 表示通过指针获取结构体中的每一个元素。

java的crc8校验,按指定多项式,求助

以下是我的分析,不知是否正确,你参考下1、首先来看你打java代码:crc=(byte)((crc1)^0x8c);和 crc=(byte)(crc1); 导致这个问题是因为byte的最高位符号位,转换的时候就出错了2、示例代码:package com.test;public class test {public static void main(String[] args) {byte[] ptr = { 1, 1, 1, 1, 1, 1 };byte res = getCrc(ptr);System.out.println();System.out.println((byte)( (1 1) ^ 0x8c ) + ":" +( (1 1) ^ 0x8c ) );}public static byte getCrc(byte[] ptr) {int crc = 0;for (int i = 0; i 1) ^ 0x8c;} else {crc = crc 1;}}}return (byte) crc;}}

JAVA怎么做CRC校验的程序

实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。

应用例子:龙珠cpu在线调试工具bbug.exe。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发送字节后才继续发送下一个字节的。 实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来。

应用例子:单片机串口通讯有一模式就是8位数据通讯,另加第9位用于放校验值。

bcc异或校验法(block check character)

实现方法:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值,通常把它附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

校验值计算的代码类似于:

unsigned uCRC=0;//校验初始值

for(int i=0;iDataLenth;i++) uCRC^=Data[i];

适用范围:适用于大多数要求不高的数据通讯。

应用例子:ic卡接口通讯、很多单片机系统的串口通讯都使用。 (Cyclic Redundancy Check)

实现方法:这是利用除法及余数的原理来进行错误检测的

crcjava代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于crc 代码、crcjava代码的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。