CRC 计算器
CRC-8/16/32校验计算,内置Modbus/CCITT/MPEG2等常用预设,支持自定义多项式与十六进制/ASCII输入。嵌入式开发必备。
🔒 文件本地处理不上传
使用说明
如何使用 CRC 计算器
- 从预设列表中选择 CRC 算法(CRC-8/16/32 系列),或切换到"自定义"模式。
- 选择输入模式(Hex 或 ASCII),在文本框中输入数据。
- 点击"计算 CRC"按钮,即可获得当前预设的计算结果。
- 展开"查看所有预设结果"可以一次性看到所有 CRC 预设的计算值。
输入模式
- Hex 模式:输入十六进制字节,支持空格、逗号、分号分隔。例如
01 03 00 00 00 01或1234AB。 - ASCII 模式:直接输入文本字符串,每个字符按 ASCII/UTF-8 编码为字节后计算。
CRC 预设说明
| 预设 | 位宽 | 多项式 | 典型应用 |
|---|---|---|---|
| CRC-8 | 8 | 0x07 | 通用8位CRC |
| CRC-8/ITU | 8 | 0x07 | ITU-T标准 |
| CRC-8/MAXIM | 8 | 0x31 | 1-Wire总线 |
| CRC-16 | 16 | 0x8005 | 通用16位CRC |
| CRC-16/Modbus | 16 | 0x8005 | Modbus RTU |
| CRC-16/CCITT | 16 | 0x1021 | X.25/蓝牙 |
| CRC-16/XMODEM | 16 | 0x1021 | XMODEM协议 |
| CRC-32 | 32 | 0x04C11DB7 | 以太网/ZIP/PNG |
| CRC-32/MPEG2 | 32 | 0x04C11DB7 | MPEG-2 |
| CRC-32/BZIP2 | 32 | 0x04C11DB7 | bzip2 |
自定义 CRC 参数
切换到"自定义"模式后,可自行配置以下参数:
- 位宽:8/16/32 位
- 多项式:CRC 生成多项式(十六进制)
- 初始值:CRC 寄存器初始值(十六进制)
- 异或值:最终结果异或值(十六进制)
- 输入反转:是否按位反转每个输入字节
- 输出反转:是否按位反转最终 CRC 结果
注意事项
- 所有计算在浏览器本地完成,数据不会上传。
- Hex 输入时,字母大小写均可,会自动转为大写处理。
- 计算结果仅供参考,关键应用请使用标准 CRC 库验证。
常见问题
CRC是什么?⌄
循环冗余校验(Cyclic Redundancy Check)是通信协议中最常用的错误检测机制。通过对数据多项式除法计算一个校验值,接收方重新计算并比对。
Modbus CRC怎么算?⌄
Modbus RTU使用CRC-16,多项式0x8005,初始值0xFFFF,输入输出均进行位反转。选择预设'CRC-16/Modbus'即可直接计算。
CRC-8、CRC-16和CRC-32有什么区别?⌄
主要区别是校验值的位宽不同:CRC-8输出8位(0-255),CRC-16输出16位(0-65535),CRC-32输出32位(0-4294967295)。位宽越大,误判率越低,但校验值越长。
什么是位反转(reflect)?⌄
位反转指按位颠倒数据的顺序。输入反转表示计算前将每个字节的位顺序颠倒,输出反转表示将最终结果位颠倒。许多硬件CRC实现(如Modbus)使用位反转来匹配串行传输的顺序。
数据会上传吗?⌄
不会。纯浏览器本地计算,所有运算在您的设备上完成,输入数据不会离开浏览器。
更新记录
- 2026-07-01v1.0.0首次发布:支持CRC-8/16/32共10种标准预设,支持自定义多项式/初始值/异或值/位反转,Hex和ASCII两种输入模式,一键展示所有预设计算结果。