换行回车

回忆上次内容

  • 上次我们

    • diy了 自己的小动物
    • 还可以 让小动物 变色、报时
    • 还可以 说些话
    • 这很亚文化
      • 很酷炫的亚文化
      • 不是吗?
  • 回忆一下
    • 最开始 研究报时 的 时候
    • 回到 本行行头 的 方法
    • print(“\r”+ascii_time)
    • \r\n 不同
  • 从含义上 来看
    • \n - LF - LineFeed - 换行
    • \r - CR - CarriageReturn - 回车
  • 换行 和 回车
    • 具体 有什么不同吗?

换行回车

  • 说到 换行回车 呢…

    • 就得 回到 回车换行 的 年代
    • 看看 那时候 的 终端设备
      • 也就是 TTY

  • TTY

    • Tele-TYpewriter 电传打字机

  • tele的意思是远程的

    • 电报 telegram
    • 望远镜 telescope
    • 电视机 television
  • typewriter
    • type是打字
    • writer写字的人
    • 合在一起就是打字机
    • 特指 电传打字机

TTY

  • 早年间 TTY电报终端 的 方式 存在

    • 后来 股票电报机 大规模应用
    • 大西洋下面 铺设起了 海底光缆
    • 甚至 可以收发 无线电报

收发脉冲

  • 发送的时候

    • 使用 1根线
    • 线里面 传递 串行信号

  • 接收的时候

    • 还是 这1根线
    • 收到的是 5-bit 的串行信号
    • 解码的 工作
      • 交给 打字机

Morkrum 编码

  • 先把 要发的电报

    • 用 5bit的Morkrum 编码到 打孔卡上
    • 或者 直接 按下 电键
    • 自动编码为 5-bit 的信号

  • 接收的 时候

    • 接收到 5-bit 的 串行信号
    • 转化成并行信号
    • 并击打 对应编码的 字符打印头

具体设备

  • 上图 左侧

    • 总共 6根 线

      • 有 1根 地线
    • 除去 地线
      • 刚好 5-bit

  • 有了 这个东西

    • 就不用 记忆复杂的 摩斯电码 了
    • 编码任务 交给了 机器
  • 而且
    • 长短空的 时间间隔
    • 靠机器来 掌握
    • 降低了 门槛

连接

  • 这 降低了 收发电报的门槛
  • tty 的连接 就是
    • 最早的 电报网络
  • tty 就是 终端输入输出设备
    • 这套连接方式 后来构成了 无线电爱好者网络

      • 当时 没有路由器
      • 每个人 都是 消息的发送、接收、转发者
  • 早年间 tty
    • 不能 和计算机 相连接
  • 直到 1959 年
    • DEC公司 生产的 PDP-1电脑
    • 可以连接 tty
    • tty 也有了纸带存储器
  • 要装下 31.8万字符 的《安徒生童话》
    • 要 好大一卷

  • tty 既是输入 也是输出

    • 输入 靠的是 键盘
    • 输出 靠的是 打印的纸张
  • 这 发展成了 标准输入输出流

标准输入输出流

  • 终端 从最开始的 电传打字机

    • 发展成显示器和键盘

  • 桌面上的打字机

    • 既是输入

      • stdin
      • 后来 发展为 键盘
    • 也是输出
      • stdout
      • 后来 发展为 电传打字机
      • 最后 发展为 显示器

打字机头

  • 电传打字机 打印头 非常巨大

    • 很像马车

carriage

  • carriage

    • 马车、运输工具

      • 这里指 运输字符的工具
    • 来自于 carry

  • carry

    • 搬东西的 行为
    • 扛、背、抱
    • 运送、携带、佩戴
    • 承担(责任);
    • Attack Damage Carry
      • 承担着 物理伤害的责任

类似单词

  • carrier

    • 携带者
    • 航母
  • cart
    • 手推车
  • car
    • 汽车
  • carpenter
    • 造马车的
    • 木匠

  • carrer

    • 马车走的高速路
    • 人的职业生涯
  • cargo
    • 货物
  • charge
    • 装车
    • 掌管
    • 充电
  • occur
    • 两车撞上了
    • 发生了事故

car-

  • *kers-

    • 意思是 跑

  • cursor

    • 送信的人
    • 光标
  • current
    • 流动的、跑着的
    • 水流、电流、思潮
  • course
    • 河道、车道
    • 江河流向
    • 跟着 流向走
    • 跟着 上课
    • of course
      • 按照设定好的航行路线走
    • recourse
      • 求助
  • cursive
    • 运笔如跑步
    • 草书

终端 的 进化

  • 最早的 计算机 (ENIAC)

    • 不能 和tty相连
  • 后来的 主机
    • 可通过串口线 和tty相连
  • 直到今天
    • 用终端 远程登录 的 时候
    • 默认名称 还是tty之类 的 东西

  • 一个主机 可以连接 多个终端

    • 通信线路 从串口线 变成了 网线
    • ssh命令 基于 tcp/ip协议
    • 可以 自动路由转发
  • ttyterminalshellconsole
    • 好像 都叫 终端
    • 有什么 不一样 吗?

总结

  • 换行回车 是两回事

    • 换行

      • 对应字节0x0A
      • Line-Feed
        • 水平 不动
        • 垂直 向上喂纸
      • 所以是 feed
    • 回车
      • 对应 字节0x0D
      • Carriage-Return
        • 垂直 不动
        • 水平 到纸张左侧
      • 可移动的打印头
        • 运输字符 的 装置 (Carriage)
        • 回到行首
      • 所以是 Return
  • ttyterminalshellconsole
    • 好像 都叫 终端
    • 有什么 不一样 吗?
  • 我们下次再看!
  • 蓝桥->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]python0037_电传打字机_打印头_print_head_carriage_词源的更多相关文章

  1. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  2. Matlab 高斯_拉普拉斯滤波器处理医学图像

    前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...

  3. Linux设备管理(五)_写自己的sysfs接口

    我们在Linux设备管理(一)_kobject, kset,ktype分析一文中介绍了kobject的相关知识,在Linux设备管理(二)_从cdev_add说起和Linux设备管理(三)_总线设备的 ...

  4. Linux设备管理(四)_从sysfs回到ktype

    sysfs是一个基于ramfs的文件系统,在2.6内核开始引入,用来导出内核对象(kernel object)的数据.属性到用户空间.与同样用于查看内核数据的proc不同,sysfs只关心具有层次结构 ...

  5. Linux设备管理(二)_从cdev_add说起

    我在Linux字符设备驱动框架一文中已经简单的介绍了字符设备驱动的基本的编程框架,这里我们来探讨一下Linux内核(以4.8.5内核为例)是怎么管理字符设备的,即当我们获得了设备号,分配了cdev结构 ...

  6. 【原】mysql5.6 split函数_字符串的分割

    DROP FUNCTION IF EXISTS `getSplitName`$$ )) RETURNS text BEGIN /* 对逗号进行分离的字符串,分割出'登陆名_用户名/部门名'中的_后部门 ...

  7. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  8. MyBatis Like查询处理%_符号

    如果我们数据库中存的字段包含有"%_"这两个like查询的通配符,那么在查询的时候把"%_"当作关键字是查询不出来的,因为mybatis会把这两个字符当作通配符 ...

  9. 前端CSS规范整理_转载、、、

    一.文件规范 1.文件均归档至约定的目录中. 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用U ...

  10. 2_MVC+EF+Autofac(dbfirst)轻型项目框架_用户权限验证

    前言 接上面两篇 0_MVC+EF+Autofac(dbfirst)轻型项目框架_基本框架 与 1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例) .在第一篇中介 ...

随机推荐

  1. 修改java版本环境变量不生效

    修改java版本环境变量不生效 起因 先上图说明问题(电脑含有多个java版本,因为需要维护很老的项目,需要切换至以前的java版本,当然也可以不用修改环境变量,直接指定) 环境变量配置 正常 jav ...

  2. 开源一站式敏捷测试管理平台 itest(爱测试) 6.6.1 发布,安全升级及新增强

    (一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试5合1,又有丰富的统计分析.可按测试包分配测试用例执行 ...

  3. OPA Gatekeeper:Kubernetes的策略和管理

    目录 一.系统环境 二.前言 三.OPA Gatekeeper简介 四.在kubernetes上安装OPA Gatekeeper 五.gatekeeper规则 5.1 使用gatekeeper禁止某些 ...

  4. 使用Wesky.Net.Opentools库,一行代码实现自动解析实体类summary注释信息(可用于数据实体文档的快速实现)

    使用前,需要对你的项目勾选输出api文档文件. 引用Wesky.Net.OpenTools包,保持1.0.11版本或以上.   为了方便,我直接在昨天的演示基础上,继续给实体类添加注释. 昨天的演示文 ...

  5. jquery的筛选器

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  6. 打开 gpedit.msc 组策略时弹出错误提示,"找不到资源 string.Advanced_EnableSSL3Fallback ”。

    原因是升级到 IE9 或者 IE 11 语言包没有及时更新. 解决方案一:用360再打补丁. 方案二:未尝试. https://www.microsoft.com/en-us/download/con ...

  7. post请求 restTemplate.postForObject restTemplate.postForEntity java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to xxx POSTpost请求

    1.restTemplate调用的两种方式及获取字符串转换对象model的处理,统一按接收字符串,然后gson转换为对象的方式. ResponseData对象包含的属性private String r ...

  8. C#拾贝

    C#拾贝 C#C#技巧C#进阶 不积跬步无以至千里,不积小流无以成江河 C#拾贝 一.Linq 1.以...开头 StartsWith Repeater1.DataSource=con.Users.W ...

  9. IDEA安装配置

    1.安装IDEA选择免费体验 2.下载对应版本的破解补丁 agent.jar -2.1 将agent.jar补丁和important.txt放置到idea安装目录 3.修改VMoption javaa ...

  10. mysql 如何分配root账号创建数据库的权限

    1.mysql 如何分配root账号创建数据库的权限 在 MySQL 中,root 用户通常具有所有的权限,包括创建数据库的权限.但是,如果我们想要为另一个用户分配创建数据库的权限,或者想要限制 ro ...