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. 悲观锁和乐观锁_乐观锁和悲观锁 以及 乐观锁的一种实现方式-CAS
  2. mysql 修改表结构提示 MySQL said: Table is read only
  3. linux禁止线程网络,linux – 如何在gdb中禁用新线程/线程退出的消息?
  4. 大数据如何预测上市公司的业绩?
  5. event.keycode值大全
  6. 前端学习(2550):事件指令解析
  7. 在 React 工程中利用 Mota 编写面向对象的业务模型
  8. tomcat启动(五)Catalina分析-service.init
  9. 微信小程序独家秘笈之左滑删除
  10. Python新闻网站项目-7.Django内容后台管理系统管理开发
  11. 前端接收pdf文件_前端利用pdfobject.js处理pdf文件
  12. 使用支付宝小程序input组件的坑
  13. 京东:亦庄CBD里,南五环“村民”的生活哲学
  14. 关于“墨者安全专家3.7”不得不说的事情
  15. 攻防世界 mfw 解题思路
  16. 中国与印度软件工程师之比较
  17. ArcGIS教程:如何为跨带数据投影
  18. BootStrap4 文本颜色和背景颜色
  19. Hyperledger Fabric的网络拓扑图与交易流程
  20. SurfaceView在线视频播放

热门文章

  1. const与指针:指向const的指针与const指针的区别
  2. android从零单排之批量删除手机通讯录
  3. 基于聚类的异常值检测算法依据及python实现
  4. 桌面显卡天梯图 Nvidia显卡算力表
  5. 面试官问自身不足之处时要怎么回答呢?
  6. 一个LED的N种玩法--多线程
  7. 【转载】用Gazebo仿真UUV水下机器人(古月居)
  8. 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF/TDM/Airbnb Embedding/Item2vec等)、召回路径简介、多路召回融合]
  9. 如何截取包含中文、Emoji表情的字符串
  10. 微信小程序 实现自动换行