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

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的启发
        • 可见于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时代

  • 昂贵的 主机时代
    • PDP-7 小型机
      • 72000美元
    • GE-45
      • 1000万美元
  • 这就是 开发multics的 时代背景

图片描述

  • 项目失败后
    • 无所事事的两人
      • Kenneth Thompson
      • Dennis Ritchie
    • 希望能在 PDP 机器上继续玩star travel
  • 于是 制作了 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1381593.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

编码--博多码(1874年)

2019独角兽企业重金招聘Python工程师标准>>> 博多码 法国人埃米尔‧博多于1874年发明的“印字电报机”,发报方通过一个类似于钢琴键盘样的装置输入报文。该装置上面有5个键,发报者的左手控制2个键,右手控制另外3个键。这样5个键在某个时刻的各自的按下/复原状态,…

为了博多

P2414 - 为了博多 Description 做了个噩梦,梦见我的 n 把刀到60级会二次变身,变成一个 对推6图有xi点贡献,刷大阪城有yi点贡献 的刀,于是要把刀分成两队一队刷大阪城另一队推6图 。 但是有m对兄弟刀在同一队会有特殊的buff加成&a…

vue+springboot基于web的火车高铁铁路订票管理系统

铁路订票管理系统按照权限的类型进行划分,分为用户和管理员两个模块。管理员模块主要针对整个系统的管理进行设计,提高了管理的效率和标准。主要功能包括个人中心、用户管理、火车类型管理、火车信息管理、车票预订管理、车票退票管理、系统管理等&#…

云服务器win系统下架设手游白日门传奇详细教程

1、首先准备云服务器一台,配置为最低为2核4G 1M宽带 2、系统选择windos2008 64位 3、安装vc运行库 4、下载服务端相关文件:下载地址:传奇手游2021【最新白日门兄弟传奇】手工GM工具文本教程-极狐资源网 解压服务端 brm.rar 到d盘目录…

神的战争god无法显示服务器,神的战争god快速升级抢资源攻略

类型:休闲益智大小:21M语言:中文 评分:10.0 标签: 立即下载 这款目前正在进行封测,大家应该也如火如荼地进行各种竞赛,抢地盘、抢资源,目标都明确的指向万神殿。不过大家都想快速变强…

工业软件Halcon的常用功能及常用工具展示

工业软件Halcon的常用功能及常用工具展示 1.BLOB特征2.BLOB差分特征3.光度立体4.特征训练5. 测量拟合6. 频域空间域结合法7.深度学习法总结 1.BLOB特征 官方示例子:surface_scratch.hdev 该程序显示了通过局部阈值和形态学后处理提取表面划痕,一共分为三…

BD网盘最新不限速下载方法支持任意平台

各位新老司机朋友好,我是小白! 今天给大家分享的都是大家经常使用的百度网盘,很多进了小黑屋的号限速几KB的速度下载简直就是头大。有会员还好点! 今天的分享的方法不需要下载任何的软件,只要一个网址,就…

sqlserver 分区

数据库单表数据量太大可能会导致数据库的查询速度大大下降(感觉都是千万级以上的数据表了),可以采取分区分表将大表分为小表解决(当然这只是其中一种方法),比如数据按月、按年分表,最后可以使用…

本地生成 bd-ticket-guard-client-cert,bd-ticket-guard-client-data

#我们目前可以发现很多协议已经加入了 bd-ticket-guard-client-cert, bd-ticket-guard-client-data 暂时先挂一下~

BD云20MB/s不限速,随时下架!

文章来源:不正经程序员 作者:哈哈浩 细心的小伙伴,也许发现了。 哈哥之前多次推荐的 PDown 不好使了。 尝试解析分享链接时,直接 error! 其实 Github 上作者早已透露无力维护 作者的意思是收到了百度方面的警告&#x…

别说手机充电没讲究!其实这4种方法,才是手机正确的充电方式

智能手机现在已经是人手一部了,手机在使用的时候会引发很多争议,比如怎么给手机充电才好?手机续航为什么大不如前了呢? 其实很大一部分原因是因为错误的充电方式,今天笔者就教大家如何正确的给手机充电。 充电方式 相…

手机充电你充对了吗?这四种情况下不建议给手机充电,原因很简单

互联网时代下的我们,吃穿住行都离不开手机,于是给手机充电就成了每天都要去做的事,那么,如果你在给手机充电时,遇到以下情况,手机维修工程师建议暂停充电: 1.手机严重发烫 手机在充电的过程中本…

手机如何实现边有线上网边充电?

随着Type-C接口的普及,生活上使用的设备产品越来越多开始采用Type-C接口,接口的统一不仅给我们带来了一线通的方便,而且节省了资源,有益于环保。 下面我们进入正题,读者一看到手机边上网边充电可能有点诧异&#xff0…

手机内部充电电流控制原理图(如果手机支持快充,比如支持9V快充,则通过充电接口的D+、D-二根线,输出对应的高低电平组合,FP6601就会控制它的3脚接地,4脚悬空,此时R3与R2并联,改变反馈下拉)

手机内部充电电流控制原理图 来源:电工之家•作者:电工之家• 2019-12-08 10:48 • 7365次阅读 0 手机充电器电流控制方面: 现在的手机充电器,无一例外,都使用了隔离式开关电源电路,充电器的体积&#x…

手机如何实现边充电边传输数据?

日常我们在手机连接电脑或者U盘传输数据的时候,虽然都是传输数据,但是主从关系是不同的,在手机连接电脑的时候可以同时给手机充电,而连接U盘的时候是手机提供电力给U盘,造成这种区别到底是由什么控制呢? 首…

Android手机一直连接USB进行自动化,一直充电,可能导致电池鼓包,如何定时禁止充电和开启充电?

为了避免 Android 手机在连接 USB 进行自动化测试时充电过度导致电池鼓包的问题,可以通过以下步骤实现禁止充电若干小时后自动充电的功能。 步骤: 连接 Android 手机到电脑的 USB 端口。 在计算机管理窗口的左侧窗格中选择设备管理器[3]。 找到并展开…

通过SPSS使用命令语法实现快速删除变量的步骤

当我们面对一个庞大的数据集的时候,我们想要对该数据集进行一些操作,可能会觉得比较繁琐。为了快速精准的实现数据过滤操作, SPSS是自带了语法功能,通过语法即可快速实现复杂操作。今天小编将通过快速删除变量的操作,让…

如何使用SPSS进行判别分析

今天将为大家讲解使用spss进行判别分析的相关步骤。 1.Discriminant Analysis判别分析主对话框 如图 1-1 所示 图 1-1 Discriminant Analysis 主对话框 (1)选择分类变量及其范围 在主对话框中左面的矩形框中选择表明已知的观测量所属类…

spss使用教程

描述性统计结果 步骤从上到下 分析描述统计描述 制作矩阵散点图 4. 图形 5. 旧对话框 6. 散点图/点图 7. 矩阵散点图 求相关系数和p值

SPSS教程及常用操作参考表 —— 一篇文章解决对SPSS的所有疑问

SPSS教程 文章目录 SPSS教程* 怎样学习SPSS1. 操作界面(1) 数据窗口(2) 输出窗口 2. 如何导入数据3. 一般的数据处理流程4. SPSS数据分析基本框架5. 针对不同的使用场景与需求, 应该使用哪些SPSS内置的分析方法前置知识(1) SPSS中有四种不同种类的变量(2) 四种类型的变量介绍 分…