CRC-16 校验码计算

CRC-16 循环冗余校验码计算工具,支持多种 CRC-16 算法

✓ 计算仅在浏览器本地进行✓ 已通过标准校验值验证
计算前会将文本编码为 UTF-8 字节。

计算结果详情

CRC-16/ARC · 9 字节

0xBB3D
十六进制0xBB3D
十进制47933
二进制0b1011101100111101
Poly0x8005
Init0x0000
RefIn / RefOut是 / 是
XorOut0x0000
Check0xBB3D

在线 CRC-16 校验码计算器

本工具可根据 UTF-8 文本或原始十六进制字节计算 16 位循环冗余校验码。CRC-16 不是单一算法,必须选择与设备或协议一致的参数模型。

支持的 CRC-16 参数模型

参数模型 Poly Init RefIn / RefOut 检查值(123456789
CRC-16/ARC 0x8005 0x0000 true / true 0xBB3D
CRC-16/CCITT-FALSE 0x1021 0xFFFF false / false 0x29B1
CRC-16/MODBUS 0x8005 0xFFFF true / true 0x4B37
CRC-16/XMODEM 0x1021 0x0000 false / false 0x31C3

以上模型的 XorOut 均为 0x0000。标准检查字符串可以用来对照设备文档或验证其他 CRC 实现。

使用方法

  1. 选择协议要求的 CRC-16 参数模型。
  2. 普通文字选择“文本 / UTF-8”,数据包选择“十六进制字节”。
  3. 输入数据并计算校验码。
  4. 复制十六进制结果,或下载完整结果明细。

十六进制模式接受完整字节对,字节间可使用空格、逗号、冒号或连字符。例如 31 32 33 是 ASCII 文本 123 对应的三个字节。

Modbus CRC 字节顺序

标准检查字符串的 CRC-16/MODBUS 结果是 0x4B37。写入 Modbus RTU 报文时需要低字节在前,因此实际追加的两个字节是 37 4B;这只是线序,校验码数值仍是 0x4B37

常见问题

为什么两个 CRC-16 工具结果不同?

通常是 Poly、Init、RefIn、RefOut 或 XorOut 参数不同,也可能是一个工具按文本编码,另一个工具按十六进制字节读取。

CRC-16 是加密算法吗?

不是。CRC-16 可以发现很多意外传输错误,但不能防止人为篡改。

输入数据会上传吗?

不会。文本编码和 CRC 计算全部在当前浏览器本地完成。