无题

共 1418字,需浏览 3分钟

 ·

2021-09-14 15:48

大家好,我是小林。

不知道大家平时喜欢看什么类型电影,我个人比较喜欢看悬疑和科幻片,豆瓣上的高分悬疑电影我基本都看过了。
我看悬疑电影不是为了锻炼脑力,而是为了图个看完电影久久不能忘怀的感觉,因为通常悬疑结尾都有个意想不到的结局。
昨晚正好闲着没事,在豆瓣上找了个 8.5 评分的科幻片《火星救援》,应该有不少人已经看过了,毕竟是 2015 年的电影。
我简单介绍下这电影的大概剧情,有 6 位宇航员在火星上采集样本,突然一场火星风暴袭来,尘土飞扬,他们被迫返回宇宙飞船里,而在返回的过程中,有位宇航员(主角)被一块飞在空中的太阳能板打到了,直接被拍飞,但是由于当时风暴太大,能见度很低,而且宙飞船有随时被吹翻的风险,所以剩下的宇航员只能放弃救援,返回宙飞船,飞回地球。
这位主角宇航员没死,不然也不会有接下来的故事了。自己队友都走了,所以就剩他一个人在火星上了,于是整个电影主要就围绕主角是如何在火星上生存 500 多,直到被队友救回地球的故事线。
主角在火星上生存的时候,遇到了 N 多问题,而主角靠自己的生物学、化学、物理学、计算机学等知识一个一个将问题解决,最终才得以生存那么久。
其中有一个地方我觉得很有意思,也是一个很关键的转折点。
当时主角没办法跟地球上联络,然后他就去寻找 1996 年留在火星上的火星探测器,这台探测器以前是用来拍火星的地理环境的,所以这台机器是可以与地球联络。
找到后,主角就尝试用火星探测器与地球联络。这台火星探测器的通信方式不是传输文字的,只能拍照和转动摄像头。
主角与地球传输信息就很简单,只需要在摄像头前面的摆上画板文字,然后地球上的人控制这台火星探测器来拍摄照片,但是地球上的人无法通过一样的方式与主角通信,他们只能转动摄像头,向左转表示 yes,向右转表示 no。
后面主角就开始思考,怎么利用会转动的摄像头来完成信息传递工作?
一开始主角想到的是做个字母表,围着火星探测器画一个圈,放上 26 字母牌子,让地球上的人类转动摄像头,然后把摄像头转动指向的字母组成单词,就能知道地球上的人想表达什么了。
但是这种方式平均圆周角度差只有 13 度,用 26 个字母围成圈太过于拥挤了,很难分辨出摄像头到底指哪儿。
后面,主角后重新思考,想到了用 16 进制
围着火星探测器放上这些字母牌子,然后地球上的人类通过转动摄像头来传递信息。

2 个 16 进制数就代表一个字母,比如十六进制 48,就代表字母 H,看到这是不是觉得很熟悉,没错这个就是 ASCII 编码

后面我查这个电影原版小说的作者原来也是码农,怪不得会设计这个场景呢。
可能有的小伙伴会说,用十进制的 ASCII 编码不行吗,这样牌子不就放的更少了?
十进制的 ASCII 编码范围是 0~126,也就是有时候需要 1 位数,或者 2 位数, 或者 3 位数才能表示一个 ASCII 码,这样主角是难分辨出到底是用几位十进制数来组合成一个 ASCII 码。
而用了十六进制的 ASCII 编码,范围是 00~7E,始终都是两位数来表示一个 ASCII 码
这篇没什么技术文,就跟大家闲聊下电影观感。
下次见啦。
浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报