326
edits
(→Day 94) |
|||
| Line 10: | Line 10: | ||
我想,这就是高级乐趣吧,在学习的海洋里享受。 | 我想,这就是高级乐趣吧,在学习的海洋里享受。 | ||
--- Joe version --- | |||
'''丝滑性''' | |||
周六的时候,和大宝贝一起玩儿加密和解密。 | |||
我们先对英文实施了简单的加密和解密,丝般顺滑。然后就开始对中文进行加密和解密,发现没有那么丝滑,经常出错。核心原因是: | |||
1. 英文中每一个字母都是一个字节存储单位,中文字符,有的编码是占据两个字节存储单位,有的编码是占据三个字节存储单位; | |||
2. 在上述情况下,英文的丝般顺滑是因为在一个存储单位内增加之后再减少,会得到原有的数值,也就是原来的字符得到正确的还原。中文的不丝滑是因为,加密的时候两个或三个字节内的内容只需要加一个数值,解密的两个或三个字节的内容只需要减一个数值。这样做保证丝滑,不过前提是还要知道当前一个中文究竟是使用两个字节存储,还是三个字节存储; | |||
3. 这样的问题在短短的半个小时,甚至是一个小时内,从原理到具体实现,都需要搞明白,嗯,有难度; | |||
4. 我们的目的是了解文字的加密和解密的原理,使用英文能够尽量减少其它干扰,达到核心的学习目的; | |||
5. 对于中文,究竟是GBK编码,还是UTF8编码,诸如此类的,与加密和解密这个核心目的有相关性,但是对核心理解产生干扰,那就先不去折腾; | |||
6. 用一个例子来说明上述的行为:对于两个物体在地球的同一个地点,是否同时落地的探索。我们现在肯定会说“同时落地”,但是探索过程我们往往忽略了。我们在探索过程中,往往会被现实中的很多非核心因素影响,比如空气。拿一个羽毛和一块石头,同时放手,我们看到的、现实得到的结果是石头先落地,羽毛后落地。可是当我们意识到是空气这个非核心要素影响我们的时候,我们就排除掉它。于是我们就用一个玻璃罐,把羽毛和石头放进去,然后抽出里面的空气,这个时候再做实验,发现:羽毛和石头同时落地。通过这个例子,想说明的是:探究一个事物,首先抓住核心点,排除掉影响因素。然后再对影响因素做研究,让我们进一步了解空气、流体诸如此类的知识。但是如果我们一开始就在核心探究与外在各类因素之间纠缠不清,那么我们可能会一无所获。 | |||
这是我对丝滑性的理解,一步一步的前行,在前进的过程中,首先学会排除干扰因素。其次学会达到核心目标后,再把那些干扰因素一项项的加回去。最后我们就能够得到一个在真实环境中完美印证的理论、公式、方法...或者是一段程序。需要我们拥有一个本事,那就是让每一个过程都丝滑,对不?亲爱的宝贝。 | |||
== Day 93 == | == Day 93 == | ||