天下无码

编码小谈

我们马上要去知识的海洋遨游,快上船,大图警告!!!天下无码_第1张图片

编码学

从信息传输在人类社会出现开始,为了解决信息传输过程的各类问题,信源编码、信道编码、加密编码、组合编码等就已经开始出现。

举个栗子,对于人说话,动物听起来,人把意思表达为声音就是信源编码,而人类说的话可以看成是加密编码,如果一不小心还说暗语(天王盖地虎,小鸡炖蘑菇)那就是二次加密编码了。

对于计算机来说,第一台计算机是1946年发明的,而各类编码学研究在此之前就已经有很发达的应用了。众所周知,最先进的理论和技术一般都用于战争。例如古代战争中用到的密信,如果不知道密信中文字和符号对应的关系,看到的信息就只会是一脸懵。

得益于中国的印刷术和书籍字典,我们国家的信息编码基于某某著作的某某版本做信息加密和解密其实有相当长的历史。甚至持续到19xx年,大家看谍战剧、抗日剧都会发现有这类场景。

编码其实要解决的就是几个问题
1.如何让信息简洁
2.如何让信息适合于传输途径
3.如何让信息只有需要的人能解析

问题1,信源编码,如何用最少的话表达最丰富的意思。中国文言文了解一下,其实这就可以算大家接触最密切的一种编码了。大家会说学习文言文还需要去了解各种文言文汉字等知识,没错,信息的编码加工,转换,传输,解编码都是需要基于一套规则的。这里必须给我们祖先点赞
问题2,信道编码,如何让要传输的信息适合于传输途径。同样都是记录事情,最早我们是结绳记事,最后是在石头、木头上画画,最后演变为象形文字,最后是文字。现在我们可以怎么记录事情呢?写书、画画、拍照、录音、录像(想起冠希哥的,可以举个手)
问题3,加密编码,如何让我们的接收人能够解析,其他人接收不到,或者接收到也解析不出来。这里就涉及到对信号加密和解密,例如最简单的一种加密方式,我直接约定跟对方说写信加密,采用某某字典的某一年版本,以后的信息传输就直接以某一页某一行某一个字的数字序号传输,不知道的人就算拿到这封信,也只会看到无规则的一系列数字而不知道是什么意思。–这个方式在历史上是真实存在,而且在中国的使用持续了至少几百年,甚至最近到19xx年的抗日、解放战争期间,社会上都有使用。

计算机编码

在1948年香农提出信息论之后,编码学在理论上有了更强大的支持,发展速度也加快。而后续冷战时期的两极对峙更是极大加快了信息加密编码的研究进度,研究成果也是不断出现。如DES、RSA、量子通信和加密理论等等。
在计算机中,信源、信道、加密编码应用地更加普及。
1.计算机中的信源编码
2.计算机中的信道编码
3.计算机中的加密编码

1.计算机中的信源编码,众所周知,计算机中所有信息都是以二进制存储。也就是不管什么信息最终都编码为了二进制来传输、存储、加工等处理。

//计算机中的数值计算都是采取补码形式处理
int b = -100;
/*
int 在java按照四字节,也就是32位bit表示。一个字节就是1byte,一个字节有8位bit
原码就是数字直接转为正常二进制
反码就是除了首位的符号位(0是正数,1是负数)之外,全部取反,1变成0,0变成1。
补码就是在反码基础上,最末尾加1的结果。以-100举例,
-100的原码     1000 0000 0000 0000 0000 0000 0110 0100‬
-100的反码     1111 1111 1111 1111 1111 1111 1001 1011
-100的补码     1111 1111 1111 1111 1111 1111 1001 1100
*/

2.计算机中的信道编码
在信道编码中,一个目的是让信息尽量适应传播途径,在计算机世界的传输路径都支持二进制并为此做了很多优化。另一个目的就是降低信息在信道传输时出错的可能(1.数据校验,计算机中的累加校验、标志位校验、MD5校验等等;2.冗余信息,加上冗余信息来确保传输丢失了一部分后,通过冗余的数据能够找回丢失部分。这也是为什么一些领域目前还在使用xml而不是json传输数据的原因之一)
3.计算机中的加密编码
在计算机世界中,数据泄露和计算机攻击都是非常非常普遍的。如何确保数据不泄露出去以及数据泄露后信息能够保密。举个例子,如果冠希哥有一定计算机基础知识,其实只需要对他的电脑文件加密一下,添加一个密码即可。这样就算别人拿到了他的硬盘,看到的也只是一个加密文件,想要看到里面的内容是不太可能的。
目前的一些文件夹加密算法是很难破译的,大家可能听过一些比特币勒索病毒,其实就是电脑感染病毒后,会把电脑中一些文件夹加密锁住,除非你给指定账户转账数字货币如比特币,才会告诉你文件夹加密密码,否则靠自己解锁基本是不可能的。

好了,今天的编码先聊到这里,愿大家能对编码有更多了解,达到天下无码的最高境界。
天下无码_第2张图片

你可能感兴趣的:(计算机基础,java)