Skip to content

Latest commit

 

History

History
203 lines (158 loc) · 4.76 KB

File metadata and controls

203 lines (158 loc) · 4.76 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0313
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

teletypewriter 历史

回忆上次内容

  • 上次见到了一个真的机械打字机
    • 感受到了蒸汽朋克的时代背景
  • 之前 区分了 一些概念
    • terminal终端,电脑连线最终的端点
    • TeleTYpewriter,电传打印机,终端硬件
    • shell,终端硬件基础上的软件壳子
    • Console 控制台,直接连接主机的控制面板
  • 换行和回车 是回事
    • 换行 对应字节0x0A
      • Line-Feed 的意思是水平不动、垂直向上喂纸
      • 所以是feed
    • 回车 对应字节0x0D
      • Carriage-Return
      • 意思是让上图可移动的打印头
        • 好像可移动的四轮马车 Carriage)
      • 垂直不动、水平 到纸张左侧
      • 所以是Return
  • 对于换行和回车
    • 不同层面的理解
  • 电传打字机
    • 两件事
    • 经常一起干
    • 但也可以分别干
  • 不同操作系统
    • unix-like
      • 大家一起简化这个成\n
    • mac
      • 和unix-like一致
    • windows
      • 我随大流吧
  • python 解释器
    • 首先觉得unix-like做得对
    • 不管在什么系统、什么架构上
    • 把这个事统一
  • 那这0x0A0x0D谁规定的
  • 来自于 什么 呢?

波特码

  • 0x0A0x0D
    • 这两个字符 来自于 一套编码
    • 波特码(Baudot code)

图片描述

  • 为什么 叫做 波特码(Baudot code)呢?

博多

  • 因为 发明这个的人 叫波特
    • Jean-Maurice-Émile Baudot
    • 从农民
    • 到电报操作员
    • 再到法国电报工程师
    • 他收到Hughes的启发

图片描述

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

独特的按键和编码

  • 这是 最早 发报电键 的样子
    • 5-bit
    • 白色的
      • 有用
    • 黑色的
      • 是分隔符

图片描述

  • 可以传输25种信号
    • 具体怎么 分配编码 呢?

Baudot 编码

  • 波特 设计了 编码的方法
    • 后来 他就 申请了法国专利
      • 再后来 申请了英国专利

图片描述

波特 与 波特率

  • 今天所用 的 波特 这个单位
    • 就是 来源于他

图片描述

  • 一秒钟传输多少个波

终端的波特率

  • 今天的终端
    • 依然有波特率这个指标
    • 还有行列字符数等等
    • 都是从那个时代的遗迹

图片描述

  • 但是 这种编码 只有字母
    • 没有 数字
  • 怎么发 带数字的电报 呢?

挂档

  • 把字符 分类 成两组
    • Letter
      • 字母
    • Figure
      • 数字和符号

图片描述

  • 通过标志位 进行选择
    • 落实到 档位
    • 选 打字头
      • 由 哪组字模 进行输出
    • 通过 特定字符
      • 切换 字模档位
  • 按一下 0b01000
    • 切换 档位
  • 这种思想 来自于 机械

档位

图片描述

  • gear 就是 齿轮
    • 来自 挂档

图片描述

演化

图片描述

  • 从 蒸汽火车
    • 到 电动汽车

图片描述

  • 甚至 再到计算机系统设置
    • 这样 一路下来

换挡键

  • 换挡键 非常重要

图片描述

  • 5-bit 就可以
    • 虚拟出 6-bit 的字符集范围
    • 但是 需要 换挡字符 来切换状态
  • 还需要约定
    • 最初的状态
    • 以及
      • 状态多长时间之后
      • 重置回默认
    • 这 其实是 最早的session(会话)
  • 什么是 换挡字符呢?
  • 今天还有吗?

总结

  • 回顾了5bit-Baudot博多码的来历
  • 从 莫尔斯电码 到 博多码
    • 原来
      • 人 来 收发电报
    • 现在
      • 机器 来 收发电报
    • 输入方式
      • 从 电键
      • 改成 键盘
    • 输出方式
      • 从 纸带
      • 变成 打印纸张
  • 后来
    • 电传打字机ASR-33
    • 成为 初代 经典终端
  • 这个换挡字符很有意思
    • 低头看看键盘
    • 今天还有这个换挡字符吗?🤔
  • 我们下次再说!👋

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。