def crc16(x, invert):

a = 0xFFFF

b = 0xA001

for byte in x:

a ^= ord(byte)

for i in range(8):

last = a % 2

a >>= 1

if last == 1:

a ^= b

s = hex(a).upper()

return s[4:6]+s[2:4] if invert == True else s[2:4]+s[4:6]

示例:

print(crc16("012345678", True))

print(crc16("012345678", False))

print(crc16("010600010017", True))

计算结果:

JS写的CRC16校验算法

var CRC = {}; CRC.CRC16 = function (data) { var len = data.length; if (len > 0) { var crc = 0xFFF ...

JS写的CRC16校验算法(查表法)

var CRC = {}; CRC._auchCRCHi = [ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0 ...

crc16 校验算法 C#

封装一个静态类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

Delphi CRC16校验算法实现(转)

循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC.它是利用除法及余数的原理来作错误侦测(Error Detecting)的.实际应用时,发送装置计算出CRC值并随 ...

【转】crc16几种标准校验算法及c语言代码

一.CRC16校验码的使用 现选择最常用的CRC-16校验,说明它的使用方法. 根据Modbus协议,常规485通讯的信息发送形式如下: 地址 功能码 数据信息 校验码 1byte 1byte nby ...

PHP CRC16 校验码的算法怎么使用

PHP CRC16 校验码的算法如何使用最近用到CRC16, 我现在就是要把 010301180001 算出CRC16的校验码,通过其他工具,可以得到 校验码是 05F1 最后完整的代码就是 0103 ...

Java CRC16 MODBUS校验算法实现

/** * CRC校验算法工具类 */ public class CRCUtil { public static String getCRC(String data) { data = data.re ...

查表法计算CRC16校验值

CRC16是单片机程序中常用的一种校验算法.依据所采用多项式的不同,得到的结果也不相同.常用的多项式有CRC-16/IBM和CRC-16/CCITT等.本文代码采用的多项式为CRC-16/IBM: X ...

CRC-16校验C#代码

[csharp] view plaincopyprint? using System; using System.Collections.Generic; using System.Text; usi ...

随机推荐

make phpexcel working with XAMPP7.0.9

Environment XAMPP 7.0.9 (PHP 7.0.9) PHPExcel 1.7.6-1.8.1 not lib_zip.dll Windows 10.1 thinkPHP 5.0.1 ...

C#脚本引擎 CS-Script 之(一)——初识

最近在做新产品,这个产品需要满足不同项目对于系统的定制性数据处理需求,比如有的要统计一段时间内某开关打开关闭了多少次,有的要统计一段时间内空调的使用率,有的希望根据温度来控制空调的开还是关,有的则是希 ...

教你如何做好SEO优化中的前端优化

网站的速度是很多人都面临的问题,其实许多网站,都没有特意的去优化加载速度,对于一个网站来说,加速不但提高了用户体验(如果一个网站在几秒内没 有打开,大多数用户选择的是关闭而非等待),而且对于SEO的流 ...

Html代码Font-Size中px与pt的区别

一个是设备坐标,一个是逻辑坐标,两者是不同的. px是个相对单位,一般像素的参考值为:在一个像素密度是90 pdi的显示器上,正常人从距离显示器28英寸处看一个像素的视角应该不小于0.0227度. 1 ...

java---Unicode-字符转换器

实现一个字符(包括汉字)的简单互相转换: package cn.hncu.gui2; import java.awt.Button; import java.awt.Color; import jav ...

shape 填充 圆角矩形 圆形 环形

属性 使用中可能出现的问题: 如果在某些手机中使用 shape 出现黑色填充背景,设置

第六篇 项目疑问 ------- BaseService<T> where T : class, new() 含义

public abstract class BaseService where T : class, new() { //当前仓储 //DbSession的存放 //为了职责单一的原 ...

webservice服务器端获取request对象的三种方式

有的时候在webservice里我们需要获取request对象和response对象,比如想要获得客户端的访问ip的时候就需要这么做,下面说三种方式,当然三种方式可能是针对不同方式部署webservi ...

javaScript(3)---语法、关键保留字及变量

学习要点: 1.语法构成 2.关键字保留字 3.变量 任何语言的核心都必然会描述这门语言最基本的工作原理.而JavaScript的语言核心就是ECMAScript 一.语法构成 区分大小写:ECMAS ...

【Linux】日志分析工具grep sed sort

遇到一个问题,在查询日志时发现,服务器上打印的文件有很多个,每个都存储了一部分日志, 需要将日志按照时间排序,并显示所有日志. 原命令: grep -h  searchContent */*log 搜 ...

crc16检验 python_Python CRC16校验算法相关推荐

  1. crc16几种标准校验算法及c语言代码

    一.CRC16校验码的使用 现选择最常用的CRC-16校验,说明它的使用方法. 根据Modbus协议,常规485通讯的信息发送形式如下: 地址 功能码 数据信息 校验码 1byte 1byte nby ...

  2. crc16算法php实现,关于实现CRC16校验算法的两个函数

    之前在2017年2月份发布过一个主题,也是关于CRC16的,现在我直接把函数写出来,希望能帮到有需要的朋友.对于在线监测设备数据传输标准来说,CRC16校验算法有基于通用modbus协议的,有基于环保 ...

  3. crc16校验c语言单片机实现,三种常用的CRC16校验算法的C51程序的优化

    CRC校验又称为循环冗余校验,是数据通讯中常用的一种校验算法.它可以有效的判别出数据在传输过程中是否发生了错误,从而保障了传输的数据可靠性. CRC校验有多种方式,如:CRC8.CRC16.CRC32 ...

  4. VS 2019 MFC CRC16校验算法例程总结(计算法/查表法以及CRC16校验表自动生成)

            工程需要,根据网上例程对CRC16校验方法进行了总结.CRC16为通讯领域常用的校验算法,其原理想必大家都很清楚.下面为相关的总结和封装类代码.被例程将CRC16校验的方法分为及算法和 ...

  5. C 语言 crc16校验算法,CRC16的标准校验算法及C语言实现(附代码)

    原标题:CRC16的标准校验算法及C语言实现(附代码) CRC码由发送端计算,放置于发送信息报文的尾部.接收信息的设备再重新计算接收到信息报文的CRC,比较计算得到的CRC是否与接收到的相符,如果两者 ...

  6. python crc-16 crc-16校验码 crc-16校验算法 ppp(MAC)帧检验序列FCS

    python crc-16 crc-16校验码 crc-16校验算法 ppp(MAC)帧检验序列FCS 想弄明白这里要看多几遍,配合下面的例子能更快理解. 第一.CRC-16校验码计算方法: 常用查表 ...

  7. CRC-16原理及通用的16位CRC校验算法代码

    CRC-16原理及通用的16位CRC校验算法代码 循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC.它是利用除法及余数的原理来作错误侦测(Error Detect ...

  8. Java实现CRC16校验算法

    本文主要记录java版的crc校验算法,顺带贴上c的crc校验函数 先上c的校验函数,本文java版的校验就是根据此函数而来的,希望能帮到大家 当时开发时通过一个在线检验工具辅助开发的.工具链接戳我 ...

  9. 我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致)

    原文地址:http://wenku.baidu.com/view/fb791c0203d8ce2f006623f5.html 我学习CRC32.CRC16.CRC原理和算法的总结(与WINRAR结果一 ...

最新文章

  1. txt 乱码_STATA数据导入——将TXT、EXCEL、SAS、SPSS数据/批量导入STATA
  2. 路由交换-hc-文档
  3. 【Vista中系统准备工具存在隐患,自动清除用户资料】
  4. 对比Android和iPhone的优缺点
  5. VTK:可视化之ColorSeriesPatches
  6. 测试HAPROXY的文件分流办法
  7. Anaconda创建python虚拟环境
  8. InfluxDB(官方使用说明)
  9. 【Python】GUI编程(Tkinter)教程
  10. [计算机网络] - TCP 重传、滑动窗口、流量控制、拥塞控制
  11. ev3无需使用计算机编程,Legoev3机器人怎么编程.docx
  12. 服务器共享文件夹加密设置方法,共享文件夹加密专家使用教程
  13. springboot分层构建Docker镜像实践,统统都会!
  14. oracle收集直方图,Oracle的直方图
  15. c#自动发送邮箱程序
  16. Unity简单爆炸效果的实现
  17. 日常开发用到的谷歌浏览器插件
  18. Z怎样写系统测试报告(A)
  19. 期货怎么克服频繁止损(期货交易怎么止损)
  20. 关于计算机书籍的收集与整理(二)

热门文章

  1. Swift开发IOS-UISlider
  2. QQ群通过关键字查找不到在线客服申诉的办法
  3. css图片填充背景色
  4. const指针和指向const的指针
  5. C++——指针与const
  6. java后台转前端_从后端开发转职前端开发,我都经历了些什么?
  7. 打不开计算机鼠标一直转,鼠标一直转圈浏览器也打不开怎么回事
  8. 哈佛大学开放课程:《公正:该如何做是好?》第1课
  9. 用matlab计算稳态误差,利用Matlab求稳态误差的两种方法.
  10. iOS动画之CAAnimationGroup