- 浏览: 198176 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (391)
- java (18)
- python (3)
- ruby (4)
- linux (48)
- 网络 (9)
- 前端 (2)
- 社会、文化、哲学、人生、百态 (0)
- 工具 (10)
- 下载 (0)
- 常用地址 (0)
- tracert (0)
- mysql (8)
- 开源相关收藏 (1)
- 模块查看依懒 (1)
- watch使用 (1)
- Tcpdump (2)
- easy_install安装 (1)
- 构造redis批量删除脚本 (1)
- MYSQL 性能测试 (1)
- JAVA code encode utf-8 (1)
- linux nginx awk 实时 每妙 (1)
- mkpasswd (1)
- spring security oauth (1)
- jmap dump java memory Analyzer (1)
- JAVA DUMP (1)
- swap linux 过高 解决 (1)
- SWAP (1)
- jmap jstat jstack dump (1)
- java jconsole 的使用 (1)
- git 常用 (1)
- MYSQL 索引 动态 唯一 (1)
- TCP 三次握手 四次挥手 (1)
- linux date (1)
- 删除 空行 注释行 (1)
- maven3 yum linux install repository (1)
- linux git 搭建 (1)
- linux sar eth1 查看 流量 (1)
- sar (1)
- netstat ip 过滤 常用脚本 (1)
- Tcpdump 包分析网络连接过程 (1)
- net ipv4 tcp time wait tw recycle (0)
- /etc/sysctl.conf linux 网络 配置 (1)
- ss 网络连接查看 (比netstat 快很多,实时性牺牲) (1)
- MYSQL 关键字 (1)
- Linux 下多核CPU知识 (1)
- top (1)
- 令牌 证书 (1)
- mysql unix timestamp (1)
- 端口扫描 nc nmap (1)
- 204 http code 状态码 (1)
- ss -s ss -l (1)
- linux 常用 curl (1)
- linux sed 替换 换行 (1)
- centos yum install rpm install (1)
- spring-mvc源码解读 (1)
- 使用iftop查看实时的网络流量 (0)
- linux 命令 expect (1)
- HTTP (1)
- openssl ddif 加密 (1)
- iptables 详解 (1)
- python 虚拟化 VirtualEnv virtualenvwrapper (1)
- nginx (2)
- more less 实用技巧 (1)
- linux nginx (2)
- linux curl https ssl 证书 ca (1)
- openssl (1)
- php mysql linux (1)
- linux 虚拟机 虚拟 xen (0)
- linux 虚拟机 虚拟 xen kvm (1)
- linux perl 单行执行技巧 (1)
- mysql 查看库占用空间 表查用空间 (1)
- linux tcpdump (1)
- maven (1)
- sun.misc.Unsafe (1)
- OpenSSL生成证书 (1)
- http://blog.csdn.net/zzulp/article/details/8018751 (1)
- maven 本地 jar dependency (1)
- 计算JAVA代码行数最简单命令 sed (1)
- 常用的证书格式转换 rsa eg (1)
- 加密 解密 签名 (1)
- 分析jar包冲突 (1)
- 使用JMockit编写java单元测试 (1)
- Linux 技巧:让进程在后台可靠运行的几种方法 (1)
- 环境变量控制 (1)
- 5+ 个 tar 命令的用法,附示例 (1)
- scp自动输入密码 (1)
- ps axo pid (1)
- ppid (1)
- comm (1)
- pmem (1)
- lstart|grep mysql (0)
- lstart (1)
- etime|grep mysql (1)
- UML类图字少好理解 (1)
- HTTP经典文章 (1)
- git (1)
- Git常用命令 (1)
- LINUX 系统被攻击的分析过程 (1)
- NIO (1)
- LINUX 操作快捷键使用 (1)
- openSSL命令、PKI、CA、SSL证书原理 (1)
- shell (2)
- 转载 (1)
- mysqldump 可以直接dump->xml (1)
- VIM比较全面的文章 (1)
- eclipse regex 正则表达式 (1)
- synchronized (1)
- 锁 (1)
- java 正则表达式 regex (1)
- Reference Queue 引用 源码 (1)
- spring aop 源码 分析 (1)
- java @Cache @Transaction 注解 (1)
- spring aop (1)
- spring jdk proxy cglib 动态代理 性能比较 (1)
- spring proxy private public 代理限制 (1)
- spring transaction aop 事务 (1)
- spring autowire 注解注入 (1)
- 桥接 NAT NAT地址转换 内部网络 虚拟网络 (1)
- spring-web-mvc 源码解读 之 RequestMappingHandlerMapping (1)
- find atime mtime ctime -n n +n (1)
- android studio 快捷键初探 (1)
- android 源码阅读的计划 (1)
- 计算机网络学习-VLAN (1)
- sed 高级 合并行 (1)
- CAP 一致性 可用性 分布式容错性 (1)
- android lib so 库文件 (0)
- android lib so 库文件 移植 (1)
- android 不错的博文 (1)
- sourceinsight 源码 阅读 (1)
- Android Tab UI (1)
- 诗 (1)
- mysql 批处理 (0)
- netty 堆外内存 DirectByteBuffer (1)
- netty 并发 百万 推送 (1)
- Linux操作系统中内存buffer和cache的区别 (1)
- maven intellij target bytecode version (1)
- linux sleep()的实现原理 (1)
- android (2)
- javadoc 代码注释规范 (1)
- spring 自动注入bean auto (1)
- Photoshop CS6常用快捷键 (1)
- 股票 数据 机器 分析 (1)
- 批处理 (1)
- mysql -e (1)
- char (1)
- Unicode (1)
- 编码 (1)
- utf8 (1)
- utf-8 (1)
- utf16 (1)
- utf-16 (1)
- IntelliJ IDEA (1)
- ide (1)
- idea (1)
- intellij (1)
- 文件 (1)
- 目录 (1)
- 源代码 (1)
- CountDownLatch (1)
- CyclicBarrier (1)
- Semaphore (1)
- spring (1)
- linux 查看不同进制文件 (1)
- WebMvcConfigurationSupport (1)
- sdkman工具的使用 (1)
- http header (1)
- LINUX系统优化 (1)
最新评论
-
gelongmei:
威武我大酒神
shell脚本不换行刷新数据
我们知道数据在传输过程中,可能会存在数据出错的情况。为了保证数据传输的正确性,因此会采取一些方法来判断数据是否正确,或者在数据出错的时候及时发现进行改正。常用的几种数据校验方式有奇偶校验、CRC校验、LRC校验、格雷码校验、和校验、异或校验等。
一、奇偶校验
1. 定义
根据被传输的一组二进制代码中“1”的个数是奇数或偶数来进行校验。
使用:通常专门设置一个奇偶校验位,存放代码中“1”的个数为奇数还是偶数。若用奇校验,则奇偶校验位为奇数,表示数据正确。若用偶校验,则奇偶校验位为偶数,表示数据正确。
2. 应用
eg. 数据位为 10001100 (1) -> 最后一位为校验位
此时若约定好为奇校验,那么数据表示为正确的,若为偶校验,那么数据传输出错了。
二、CRC校验(循环冗余校验码)
1. 定义
CRC校验是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
2. 计算过程:
a> 设置CRC寄存器,并给其赋值FFFF(hex)。
b> 将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。
c> CRC寄存器向右移一位,MSB补零,移出并检查LSB。
d> 如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。
e> 重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
f> 重复第2至第5步直到所有数据全部处理完成。
g> 最终CRC寄存器的内容即为CRC值。
常用的CRC循环冗余校验标准多项式如下: CRC(16位) = X16+X15+X2+1 CRC(CCITT) = X16+X12 +X5+1
CRC(32位) = X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
以CRC(16位)多项式为例,其对应校验二进制位列为1 1000 0000 0000 0101。
3. 应用:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。
三、LRC校验
1. 定义:LRC校验用于ModBus协定的ASCII模式,这各校验比较简单,通讯速率较慢,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据字节迭加后取反加1即可。
2. 应用
eg. 5个字节:01H+03H+21H+02H+00H+02H = 29H,然后取2的补码=D7H。
四、格雷码校验
1. 定义
格雷码是一种无权码,也是一种循环码。是指任意两组相邻的代码之间只有一位不同,其余为都相同。
如:5的二进制为0101 6的二进制为0110
5的格雷码为0111 6的二进制为0101
五、校验和
1. 定义
校验一组数据项的和是否正确。通常是以十六进制为数制表示的形式。如果校验和的数值超过十六进制的FF,也就是255。
2. 应用
eg. 数据01020304的校验和为a。
六、异或校验
1. 定义
BCC校验其实是奇偶校验的一种,但也是经常使用并且效率较高的一种。所谓BCC校验法,就是在发送前和发送后分别把BCC以前包括ETX字符的所有字符按位异或后,按要求变换(增加或去除一个固定的值)后所得到的字符进行比较。相等即认为通信无错误,不相等则认为通信出错。
七、MD5校验
1. 定义
MD5的实际应用是对一段Message(字节串)产生fingerprint(指纹),可以防止被篡改。
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/zhengqijun_/article/details/53150749
一、奇偶校验
1. 定义
根据被传输的一组二进制代码中“1”的个数是奇数或偶数来进行校验。
使用:通常专门设置一个奇偶校验位,存放代码中“1”的个数为奇数还是偶数。若用奇校验,则奇偶校验位为奇数,表示数据正确。若用偶校验,则奇偶校验位为偶数,表示数据正确。
2. 应用
eg. 数据位为 10001100 (1) -> 最后一位为校验位
此时若约定好为奇校验,那么数据表示为正确的,若为偶校验,那么数据传输出错了。
二、CRC校验(循环冗余校验码)
1. 定义
CRC校验是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
2. 计算过程:
a> 设置CRC寄存器,并给其赋值FFFF(hex)。
b> 将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。
c> CRC寄存器向右移一位,MSB补零,移出并检查LSB。
d> 如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。
e> 重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
f> 重复第2至第5步直到所有数据全部处理完成。
g> 最终CRC寄存器的内容即为CRC值。
常用的CRC循环冗余校验标准多项式如下: CRC(16位) = X16+X15+X2+1 CRC(CCITT) = X16+X12 +X5+1
CRC(32位) = X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
以CRC(16位)多项式为例,其对应校验二进制位列为1 1000 0000 0000 0101。
3. 应用:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。
三、LRC校验
1. 定义:LRC校验用于ModBus协定的ASCII模式,这各校验比较简单,通讯速率较慢,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据字节迭加后取反加1即可。
2. 应用
eg. 5个字节:01H+03H+21H+02H+00H+02H = 29H,然后取2的补码=D7H。
四、格雷码校验
1. 定义
格雷码是一种无权码,也是一种循环码。是指任意两组相邻的代码之间只有一位不同,其余为都相同。
如:5的二进制为0101 6的二进制为0110
5的格雷码为0111 6的二进制为0101
五、校验和
1. 定义
校验一组数据项的和是否正确。通常是以十六进制为数制表示的形式。如果校验和的数值超过十六进制的FF,也就是255。
2. 应用
eg. 数据01020304的校验和为a。
六、异或校验
1. 定义
BCC校验其实是奇偶校验的一种,但也是经常使用并且效率较高的一种。所谓BCC校验法,就是在发送前和发送后分别把BCC以前包括ETX字符的所有字符按位异或后,按要求变换(增加或去除一个固定的值)后所得到的字符进行比较。相等即认为通信无错误,不相等则认为通信出错。
七、MD5校验
1. 定义
MD5的实际应用是对一段Message(字节串)产生fingerprint(指纹),可以防止被篡改。
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/zhengqijun_/article/details/53150749
相关推荐
Oracle中比对2张表之间数据是否一致的几种方法
CRC可以高比例的纠正信息传输过程中的错误,可以在极短的时间内完成数据校验码的计算,并迅速完成纠错过程,通过数据包自动重发的方式使得计算机的通信速度大幅提高,对通信效率和安全提供了保障。由于 CRC 算法检验...
目前该软件支持以下几种校验方式:(版本V2.0.0.2) 1) CRC16校验 2) BCC校验 3) LRC校验 4) IntelHex校验 5) CCITT循环冗余校验 6) CRC32校验 版本V2.0.0.3 增加CRC32文件校验功能 (2013-05-16) 版本V2.0....
有几种方法可以确保收到正确数据后才执行动作。简单的方 式就是控制器回读所发送的数据。如果接收的数据与发送的数 据不匹配,则说明其中一者已受到破坏,必须发送新数据并进 行验证。这种方法的确可靠,但产生的...
1.3 单片机通信的几种常用模式 1.3.1 并行通信与串行通信 1.3.2 异步通信与同步通信 1.4 单片机串行口 1.4.1 串行接口的内部结构 1.4.2 串行接口的专用寄存器 1.4.3 串行口的工作方式 1.4.4 单片机串行口的...
有几种方法可以确保收到正确数据后才执行动作。最简单的方 式就是控制器回读所发送的数据。如果接收的数据与发送的数 据不匹配,则说明其中一者已受到破坏,必须发送新数据并进 行验证。这种方法的确可靠,但产生...
我想你应该明白了吧,CRC就是块数据的计算值,它的全称是“Cyclic Redundancy Check”,中文名是“循环冗余码”,“CRC校验”就是“循环冗余校验”。 CRC有什么用呢?它的应用范围很广泛,最常见的就是在网络传输中...
用表驱动法来实现CRC8、CRC16、CRC32的数据校验,程序简洁,通俗易懂
单元三 电子商务数据分析的流程 数据清洗 数据转化 数据提取 数据计算 1 2 3 4 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。 将数据从一种表示形式变为另一种表现...
在数据通信领域,它是最常用的一种差错校验码。 CRC校验码的原理是利用软件进行校验的算法。在实现上,CRC包括一系列移位、相除等数据编码规则。其算法原理、算法程序的设计与分析,都可以通过相应的软件编码进行...
在数据位后,起到纠错的作用,有None/Even/Odd/Mark/Space几种; 停止位 表示数据传输完成,长度为1、1.5、2; RS232标准串口通讯结构图 1、RS232标准串口主要用于工业设备直接通信 2、电平转换芯片一般有MAX232 ...
1、Django数据校验方式分为以下三步: Model.clean_fields() 验证字段基本规则比如长度格式等; Model.clean() 可自定义验证条件和报错信息; Model.validate_unique() 为验证添加的唯一性约束。 2、此三步验证通过...
CRC16_CCITT计算方法,名称:bit CRC16_CCITT(unsigned int iLen,unsigned...功能:将指定BUFFER中的N BYTE数据进行校验和计算。 入口参数:unsigned int iLen,数据长度, unsigned char *pcIn数据缓冲区 出口参数:crc
了解几种解决哈希冲突的方式,以及字符串哈希这一特殊的哈希方式。 适用人群:对于学习过基础算法并且学习过c++的学者比较友好。 可以将哈希表应用到什么场景? 一:安全加密,二:唯一标识,三:数据校验,六:...
CRC检验码是最常用的,用来检测数据传输是否出错,所以掌握是必备的
以 DS18B20器件的ROM ID/Scratchpad数据校验及Modbus总线网络数据帧校验为例,通过对生成多项式及硬件描述的分析研究得出了基本比特型校验算法设计,在数学推导的基础上得出了其改进的比特型校验算法及单字节、半...
在处理模式期间,根据新、旧数据,可能发生下列几种情况之一: ① 先擦除后写入:5 ms,相当于M=256个时钟脉冲。 ② 只写入不擦除:2.5 ms,相当于 M=124个时钟脉冲。 ③ 只擦除不写入:2.5 ms,相当于M=124个时钟...
之前做过几年游戏开发,开发过程中需要大量的策划数据校验,测试数据分析,因此开发了这一个轻量级的ETL工具,现开源出来与有兴趣的码农一起分享,改进! ~_~感谢钉客提供网页存放空间。 KISETL特点 1、程序简单,...
这项工作旨在促进执行有关图像完整性的几种算法,即验证图像是否已以某种方式更改或是否等于相机的输出。 该软件可以执行更多的JAR Runnable File,仅执行一个程序即可。 输入的算法必须尊重接口以处理框架并从中...
个人所得税全员管理系统 要注意区别进入个税软件时...6、上传数据不成功的几种情况:一、电脑未上网;二、省局或市局服务器不正常,无法登录;三、收入明细表、扣缴报告表、汇总申报表之间数据不一致。四、企业编码错误