欢迎光临散文网 会员登陆 & 注册

[oeasy]python0041_teletype历史_博多码_shift_capslock_字符数字切换_gear

2023-01-08 21:31 作者:oeasy  | 我要投稿

teletypewriter 历史

回忆上次内容

  • 上次见到了一个真的机械打字机

    • 感受到了蒸汽朋克的时代背景

  • 上上次区分了一些概念

    • terminal终端,电脑连线最终的端点

    • TeleTYpewriter,电传打印机,终端硬件

    • shell,终端硬件基础上的软件壳子

    • Console 控制台,直接连接主机的控制面板

  • 换行和回车是两回事

    • Carriage-Return

    • 意思是让上图可移动的打印头

    • 垂直不动、水平 到纸张左侧

    • 所以是Return

    • 好像可移动的四轮马车 Carriage)

    • Line-Feed 的意思是水平不动、垂直向上喂纸

    • 所以是feed

    • 换行 对应字节0x0A

    • 回车 对应字节0x0D

  • 对于换行和回车,不同层面的理解

    • 首先我觉得unix-like做得对

    • 不管在什么系统、什么架构上

    • 我把这个事统一

    • unix-like:大家一起简化这个成\n,就步调一致就都好了

    • mac:为了避免麻烦,我和unix-like一致

    • windows:原来我用户多,定什么规矩我说了算,现在我还是随大流吧

    • 电传打字机:两件事,经常一起干,但也可以分别干

    • 不同操作系统

    • python 解释器

  • 光说不练假把式

  • 我能看看电传打字机吗?🤔

  • 那这0x0A0x0D谁规定的

  • 来自于什么呢?

发明人

  • 0x0A0x0D

    • 这两个字符 来自于 一套编码

    • 博多码(Baudot code)

  • 为什么 叫做 博多码(Baudot code)呢?

    • Jean-Maurice-Émile Baudot

    • 从农民

    • 到电报操作员

    • 再到法国电报工程师

    • 他收到Hughes的启发

    • 可见于oeasy 电路 25 话

    • 因为 发明这个的人 叫波多

    • 发明了 用一条线路 传输多个bit位

独特的按键和编码

  • 这是 最早 发报电键 的样子

    • 是分隔符

    • 有用

    • 5-bit

    • 白色的

    • 黑色的

  • 可以传输25种信号

    • 具体怎么 分配编码 呢?

Baudot 编码

  • 博多 设计了 编码的方法

    • 再后来 申请了英国专利

    • 后来 他就 申请了法国专利

  • 今天所用 的 波特 这个单位

    • 就是 来源于他

  • 但是 这种编码 只有字母

    • 没有 数字

  • 怎么发 带数目的电报 呢?

挂档

  • 把字符 分类 成两组

    • 数字和符号

    • 字母

    • Letter

    • Figure

  • 通过标志位 进行选择

    • 切换 字模档位

    • 由 哪组字模 进行输出

    • 落实到 档位

    • 选 打字头

    • 通过 特定字符

  • 按一下 0b01000

    • 切换 档位

  • 这种思想 来自于 机械

档位

  • gear 就是 齿轮

    • 来自 挂档

  • 从 蒸汽火车

    • 到 电动汽车

  • 甚至 计算机

    • 这样 一路下来

换挡键

  • 今天的 caps lock 和 shift

    • 种 换挡方式

  • 5bit 这样 就可以

    • 虚拟出 6bit 的效果

    • 但是 需要 一个字符 来切换状态

  • 还需要约定

    • 状态多长时间之后

    • 重置回默认

    • 最初的状态

    • 以及

    • 这些其实是 最早的session(会话)

  • 这种编码最终形成了ITA1编码

键盘

  • 形成了 qwer键盘 的基本布局

    • BELL

    • LINE FEED

    • CAR RET

    • FIGS

    • LTRS

    • 有字符、数字、符号

    • 控制字符

  • 在当时

    • 还是两回事

    • 回车 和 换行

    • 尤其 机械打字机

  • 打字符 速度快

    • 下一个字符

    • 位置不确定

    • 由于 是 机械装置

    • 换行+回车 速度慢

    • 换行时间 不给足的画

  • 往往

    • 多发一些 空(Null)

    • 延迟时间

  • 注意这个空(Null)

    • 继续 打印

    • 却不 打印内容

    • 不是空格(Space)

    • 空(Null)延迟时间

    • 等 carriage return 回来

  • 电传打字机

    • 有 什么经典机型 么?

ASR-33

  • ASR-33是当时的一代机皇

    • Automatic Send-Receive

  • 可以看到 当时的io设备

    • 纸带 存储

    • 打印纸 标准输出流

    • 打字机键盘 标准输入流

  • 为什么 当初 收发电报的 电传打字机

  • 会和 电子计算机 结合得 这么紧密 呢?

unix时代

  • 昂贵的 主机时代

    • 1000万美元

    • 72000美元

    • PDP-7 小型机

    • GE-45

  • 这就是 开发multics的 时代背景

  • 项目失败后

    • 希望能在 PDP 机器上继续玩star travel

    • Kenneth Thompson

    • Dennis Ritchie

    • 无所事事的两人

  • 于是 制作了 unixc

    • 分时

    • 多用户

    • 意味着 各个进程

    • 可以 分享 硬件资源

    • 意味着 要给 每个用户

    • 配置 一个 终端

    • 目标是 分时 多用户系统

  • 每个 用户 都要有

    • 显示器

    • 键盘

价格

  • 当时 所有的计算机设备

    • 价格 都非常昂贵

    • 显示器 别想了

    • 而且 键盘和主机 是 集成在一起

    • 没有独立的键盘

  • 最后

    • 是 收发电报

    • 找到 ASR33电传打字机

    • 电传打字机 的 用途

  • 但是

    • 人与计算机 的 接口

    • 也可以 作为

    • 而且 价格低廉

  • 编码 也随着

    • 机器 的 进化

    • 不断 进化

编码的进化

  • 在 ITA1 的基础上

    • 编码 进化

  • 类型 还是 三类

    • 字符

    • 符号包括数字

    • 控制字符

  • 特殊字符

    • ascii时代

    • 还有吗?

    • 比如bel?

  • 除了 \n\r 之外

    • 感觉 就要 揭开 了呢!

    • 还有 什么控制字符 呢?

    • 黑暗森林 的 神秘面纱

总结

  • 我们回顾了5bit-Baudot博多码的来历

  • 从 莫尔斯码 到 博多码

    • 从 纸带

    • 变成 打印纸张

    • 从 电键

    • 改成 键盘

    • 机器 来 收发电报

    • 人 来 收发电报

    • 原来

    • 现在

    • 输入方式

    • 输出方式

  • 后来

    • 电传打字机ASR-33

    • 成为 初代 经典终端

  • 除了 \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



[oeasy]python0041_teletype历史_博多码_shift_capslock_字符数字切换_gear的评论 (共 条)

分享到微博请遵守国家法律