[oeasy]python0037_电传打字机_打印头_print_head_carriage_词源
换行回车
回忆上次内容
- 上次我们
- diy了 自己的小动物
- 还可以 让小动物 变色、报时
- 还可以 说些话
- 这很亚文化
- 很酷炫的亚文化
- 不是吗?
- 回忆一下
- 最开始 研究报时 的 时候
- 回到 本行行头 的 方法
- print(“\r”+ascii_time)
\r与\n不同
- 从含义上 来看
\n- LF - LineFeed - 换行\r- CR - CarriageReturn - 回车
- 换行 和 回车
- 具体 有什么不同吗?
换行回车
- 说到 换行回车 呢…
- 就得 回到 回车换行 的 年代
- 看看 那时候 的 终端设备
- 也就是
TTY
- 也就是

TTYTele-TYpewriter 电传打字机

tele的意思是远程的- 电报 telegram
- 望远镜 telescope
- 电视机 television
typewritertype是打字writer是写字的人- 合在一起就是
打字机 - 特指
电传打字机
TTY
- 早年间
TTY以电报终端 的 方式 存在- 后来 股票电报机 大规模应用
- 大西洋下面 铺设起了 海底光缆
- 甚至 可以收发 无线电报

- 具体可以 看 《oeasy 教您玩转电磁波》第 5 话
TTY是怎么 发电报的 呢?
收发脉冲
- 发送的时候
- 使用 1根线
- 线里面 传递 串行信号

- 接收的时候
- 还是 这1根线
- 收到的是 5-bit 的串行信号
- 解码的 工作
- 交给 打字机
Morkrum 编码
- 先把 要发的电报
- 用 5bit的Morkrum 编码到 打孔卡上
- 或者 直接 按下 电键
- 自动编码为 5-bit 的信号

- 接收的 时候
- 接收到 5-bit 的 串行信号
- 转化成并行信号
- 并击打 对应编码的 字符打印头
具体设备
- 上图 左侧
- 总共 6根 线
- 有 1根 地线
- 除去 地线
- 刚好 5-bit
- 总共 6根 线

- 有了 这个东西
- 就不用 记忆复杂的 摩斯电码 了
- 编码任务 交给了 机器
- 而且
- 长短空的 时间间隔
- 靠机器来 掌握
- 降低了 门槛
连接
- 这 降低了 收发电报的门槛
tty的连接 就是- 最早的 电报网络
tty就是 终端输入输出设备- 这套连接方式 后来构成了 无线电爱好者网络
- 当时 没有路由器
- 每个人 都是 消息的发送、接收、转发者
- 这套连接方式 后来构成了 无线电爱好者网络
- 早年间
tty- 不能 和计算机 相连接
- 直到 1959 年
- DEC公司 生产的
PDP-1电脑 - 可以连接
tty tty也有了纸带存储器
- DEC公司 生产的
- 要装下 31.8万字符 的《安徒生童话》
- 要 好大一卷

tty既是输入 也是输出- 输入 靠的是 键盘
- 输出 靠的是 打印的纸张
- 这 发展成了 标准输入输出流
标准输入输出流
- 终端 从最开始的 电传打字机
- 发展成显示器和键盘

- 桌面上的打字机
- 既是输入
- stdin
- 后来 发展为 键盘
- 也是输出
- stdout
- 后来 发展为 电传打字机
- 最后 发展为 显示器
- 既是输入
打字机头

- 电传打字机 打印头 非常巨大
- 很像马车
carriage
- carriage
- 马车、运输工具
- 这里指 运输字符的工具
- 来自于 carry
- 马车、运输工具

- carry
- 搬东西的 行为
- 扛、背、抱
- 运送、携带、佩戴
- 承担(责任);
AttackDamageCarry- 承担着 物理伤害的责任
类似单词
- carrier
- 携带者
- 航母
- cart
- 手推车
- car
- 汽车
- carpenter
- 造马车的
- 木匠

- carrer
- 马车走的高速路
- 人的职业生涯
- cargo
- 货物
- charge
- 装车
- 掌管
- 充电
- occur
- 两车撞上了
- 发生了事故
car-
- *kers-
- 意思是 跑

- cursor
- 送信的人
- 光标
- current
- 流动的、跑着的
- 水流、电流、思潮
- course
- 河道、车道
- 江河流向
- 跟着 流向走
- 跟着 上课
- of course
- 按照设定好的航行路线走
- recourse
- 求助
- cursive
- 运笔如跑步
- 草书
终端 的 进化
- 最早的 计算机 (ENIAC)
- 不能 和
tty相连
- 不能 和
- 后来的 主机
- 可通过串口线 和
tty相连
- 可通过串口线 和
- 直到今天
- 用终端 远程登录 的 时候
- 默认名称 还是
tty之类 的 东西

- 一个主机 可以连接 多个终端
- 通信线路 从串口线 变成了 网线
ssh命令 基于tcp/ip协议- 可以 自动路由转发
tty、terminal、shell、console- 好像 都叫 终端
- 有什么 不一样 吗?
总结
换行和回车是两回事换行- 对应字节
0x0A - Line-Feed
- 水平 不动
- 垂直 向上喂纸
- 所以是
feed
- 对应字节
回车- 对应 字节
0x0D - Carriage-Return
- 垂直 不动
- 水平
回到纸张左侧
- 可移动的打印头
- 运输字符 的 装置 (Carriage)
- 回到行首
- 所以是
Return
- 对应 字节
tty、terminal、shell、console- 好像 都叫 终端
- 有什么 不一样 吗?
- 我们下次再看!
- 蓝桥->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_词源的更多相关文章
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
- Matlab 高斯_拉普拉斯滤波器处理医学图像
前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...
- Linux设备管理(五)_写自己的sysfs接口
我们在Linux设备管理(一)_kobject, kset,ktype分析一文中介绍了kobject的相关知识,在Linux设备管理(二)_从cdev_add说起和Linux设备管理(三)_总线设备的 ...
- Linux设备管理(四)_从sysfs回到ktype
sysfs是一个基于ramfs的文件系统,在2.6内核开始引入,用来导出内核对象(kernel object)的数据.属性到用户空间.与同样用于查看内核数据的proc不同,sysfs只关心具有层次结构 ...
- Linux设备管理(二)_从cdev_add说起
我在Linux字符设备驱动框架一文中已经简单的介绍了字符设备驱动的基本的编程框架,这里我们来探讨一下Linux内核(以4.8.5内核为例)是怎么管理字符设备的,即当我们获得了设备号,分配了cdev结构 ...
- 【原】mysql5.6 split函数_字符串的分割
DROP FUNCTION IF EXISTS `getSplitName`$$ )) RETURNS text BEGIN /* 对逗号进行分离的字符串,分割出'登陆名_用户名/部门名'中的_后部门 ...
- maven实战(01)_搭建开发环境
一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...
- MyBatis Like查询处理%_符号
如果我们数据库中存的字段包含有"%_"这两个like查询的通配符,那么在查询的时候把"%_"当作关键字是查询不出来的,因为mybatis会把这两个字符当作通配符 ...
- 前端CSS规范整理_转载、、、
一.文件规范 1.文件均归档至约定的目录中. 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用U ...
- 2_MVC+EF+Autofac(dbfirst)轻型项目框架_用户权限验证
前言 接上面两篇 0_MVC+EF+Autofac(dbfirst)轻型项目框架_基本框架 与 1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例) .在第一篇中介 ...
随机推荐
- OpenOCD + DAP-LINK调试ESP32的失败经历
目的 手里有调试STM32的DAP-LINK,想试试通过JTAG调试ESP32 OpenOCD支持CMSIS-DAP DAP-LINK支持的芯片,我手上这款描述如下,应该JTAG协议的都支持 平台 w ...
- Vue cli之项目打包
在项目根目录中执行如下命令: npm run build 注:Vue脚手架打包的项目必须在服务器上运行,不能直接双击运行: 在打包之后项目中出现 dist 目录,dist 目录就是 Vue脚手架项目的 ...
- 资源编排ROS之模块:实现模板代码复用(基础篇)
背景 资源编排服务(Resource Orchestration Service, 简称ROS)是阿里云提供的一项简化云计算资源管理的服务.您可以遵循ROS定义的模板规范编写资源栈模板,在模板中定义所 ...
- redis cluaster (redis分布式集群 redis分片集群)
redis cluaster (redis分布式集群) 高可用: 在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof的功能,同时当主节点down,实现类似于sentinel的自动 ...
- Swift 与 Objc Exception
一.背景 Swift具备完善的Error handle机制,对于纯Swift下面的Error,在编码的时候能够正确处理. 在使用try? 处理抛出Error的方法的时候,会忽略Error,直接返回ni ...
- Linux驱动--IOCTL实现
参考:[Linux]实现设备驱动的ioctl函数_哔哩哔哩_bilibili.<Linux设备驱动程序(中文第三版).pdf> 1 用户空间ioctl 用户空间的ioctl函数原型,参数是 ...
- 剑指Offer-59.按之字形顺序打印二叉树(C++/Java)
题目: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 分析: 实际上是二叉树的层次遍历,只不过每一行 ...
- work03
第一题: 1.定义一个包含十个元素的数组.数组元素自己给出 2.遍历打印出数组元素 3.求出数组当中的最小值打印出来 4.求出数组当中的最大值打印出来 5,求数组当中 第二大 值 第二题: 1.定义一 ...
- C#.NET与JAVA互通之MD5哈希V2024
C#.NET与JAVA互通之MD5哈希V2024 配套视频: 要点: 1.计算MD5时,SDK自带的计算哈希(ComputeHash)方法,输入输出参数都是byte数组.就涉及到字符串转byte数组转 ...
- python 使用pandas修改数据到excel,报“SettingwithCopyWarning A value is trying to be set on a copy of a slice from a DataFrame”的解决方法
场景: 通过pandas模块,将测试数据回写到excel,测试数据有写到excel文件,但控制台输出警告信息如下 警告: SettingwithCopyWarning A value is tryin ...