[oeasy]python0041_teletype历史_博多码_shift_capslock_字符数字切换_gear
teletypewriter 历史
回忆上次内容
- 上次见到了一个真的机械打字机
- 上上次区分了一些概念
terminal
终端,电脑连线最终的端点
TeleTYpewriter
,电传打印机,终端硬件
shell
,终端硬件基础上的软件壳子
Console
控制台,直接连接主机的控制面板
- 换行和回车是两回事
- 换行 对应字节
0x0A
- Line-Feed 的意思是水平不动、垂直向上喂纸
- 所以是
feed
- 回车 对应字节
0x0D
- Carriage-Return
- 意思是让上图可移动的打印头
- 垂直不动、水平
回
到纸张左侧
- 所以是
Return
- 对于换行和回车,不同层面的理解
- 电传打字机:两件事,经常一起干,但也可以分别干
- 不同操作系统
- unix-like:大家一起简化这个成
\n
,就步调一致就都好了
- mac:为了避免麻烦,我和unix-like一致
- windows:原来我用户多,定什么规矩我说了算,现在我还是随大流吧
- python 解释器
- 首先我觉得
unix-like
做得对
- 不管在什么系统、什么架构上
- 我把这个事统一
- 光说不练假把式
- 我能看看电传打字机吗?
- 那这
0x0A
、0x0D
谁规定的
- 来自于什么呢?
发明人
0x0A
、0x0D
- 这两个字符 来自于 一套编码
- 博多码(
Baudot code
)
- 为什么 叫做 博多码(
Baudot code
)呢?
- 因为 发明这个的人 叫波多
- Jean-Maurice-Émile
Baudot
- 从农民
- 到电报操作员
- 再到法国电报工程师
- 他收到
Hughes
的启发
- 发明了 用一条线路 传输
多个bit位
独特的按键和编码
Baudot 编码
- 博多 设计了 编码的方法
- 今天所用 的
波特
这个单位
- 但是 这种编码 只有字母
- 怎么发
带数目的电报
呢?
挂档
- 通过标志位 进行选择
- 按一下
0b01000
- 这种思想 来自于 机械
档位
换挡键
5bit
这样 就可以
- 虚拟出
6bit
的效果
- 但是 需要 一个字符 来切换状态
- 还需要约定
- 最初的状态
- 以及
- 这些其实是 最早的
session
(会话)
- 这种编码最终形成了
ITA1
编码
键盘
- 形成了
qwer
键盘 的基本布局
- 有字符、数字、符号
- 控制字符
- BELL
- LINE FEED
- CAR RET
- FIGS
- LTRS
- 在当时
- 打字符 速度快
- 由于 是
机械
装置
- 换行+回车 速度慢
- 换行时间 不给足的画
- 往往
- 注意这个空(Null)
- 不是空格(Space)
- 空(Null)延迟时间
- 等 carriage return 回来
- 电传打字机
ASR-33
- 可以看到 当时的io设备
- 纸带 存储
- 打印纸 标准输出流
- 打字机键盘 标准输入流
- 为什么 当初 收发电报的 电传打字机
- 会和 电子计算机 结合得 这么紧密 呢?
unix时代
- 昂贵的 主机时代
- 这就是 开发multics的 时代背景
- 项目失败后
- 无所事事的两人
Kenneth Thompson
Dennis Ritchie
- 希望能在 PDP 机器上继续玩
star travel
- 于是 制作了
unix
和 c
- 每个 用户 都要有
价格
- 当时 所有的计算机设备
- 价格 都非常昂贵
- 显示器 别想了
- 而且 键盘和主机 是 集成在一起
- 没有独立的键盘
编码的进化
总结
- 我们回顾了
5bit-Baudot
博多码的来历
- 从 莫尔斯码 到 博多码
- 后来
- 除了
\n
和 \r
之外
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython
- 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy