[oeasy]python0081_ANSI序列由来_终端机_VT100_DEC_VT选项_终端控制序列

简介: [oeasy]python0081_ANSI序列由来_终端机_VT100_DEC_VT选项_终端控制序列

更多颜色

回忆上次内容

  • 上次 首先了解了RGB颜色设置
  • 可以把一些抽象的色彩名字
  • 落实到具体的
  • RGB颜色

  • 计算机所做的一切
  • 其实就是量化、编码
  • 把生活的一切都进行数字化

  • 标准 是ANSI制定的
  • 这个ANSI 又是 怎么来的 呢??🤔

由来

  • ANSI
  • 听起来 是 官方组织
  • 其实 是
  • 专业技能人士的 民间组织

ANSI进化过程

  • 1918
  • 美国工程标准委员会(AESC)
  • 美国政府的三个部(商务部、陆军部、海军部)
  • 也参与了该委员会的筹备工作
  • 美国材料试验协会(ASTM)
  • 美国机械工程师协会(ASME)
  • 美国矿业与冶金工程师协会(ASMME)
  • 美国土木工程师协会(ASCE)
  • 美国电气工程师协会(AIEE)等组织
  • 这个 AIEE 就是 IEEE 的前身
  • IEEE 干什么的来着?
  • 很多通信协议都是ieee搞的
  • 还有 浮点数标准
  • ascii 也有 ieee 的参与
  • 共同成立了美国工程标准委员会(AESC)
  • 工业化很重要的就是能够把标准量化
  • 从钢铁的碳含量
  • 到螺丝的螺距
  • 甚至篮筐的尺寸
  • 1928
  • AESC 改组为美国标准协会(ASA)
  • 1966
  • 美利坚合众国标准学会(USASI)
  • 1969
  • 美国国家标准学会(ANSI)
  • ascii
  • 是不是 也经历了 一个历史过程呢?

历史

  • 没错!!!
  • 一切 都是 时间的产物

  • 没有什么 是 一下子就成为标准的
  • 标准 首先得 能用得起来
  • 而且 也会 不断地发展
  • 是在历史长河中 一段时间内的 产物
  • 各种组织 也有各自生灭的 过程
  • 就像 esc 从无到有的过程一样

esc 来历

  • 早年间 没有 esc   键

  • 主要是 电传打字机 作为终端
  • 键盘 输入
  • 纸张 输出
  • 都在 和主机(MainFrame)交互

ASR-33

  • 1963年 这款神机 问世
  • 为我们 明确了
  • 黑暗森林中的 一些转义字符

  • 仔细看 ASR-33 已经包含了esc键
  • 但此时 还没有 控制序列

DEC的VT-5

  • 1970 年
  • 视频终端 随着unix和c 发展起来
  • Digital Equipment Corporation (DEC) 公司
  • 想用小型机 和 终端
  • 击败 IBM的大型机
  • VT系列
  • Video Terminal
  • 视频的 终端
  • 这终端 用的不是纸
  • 而是 视频(video)信号
  • 有些东西
  • 随风 飘散
  • 72列 20行
  • 还有 当时的 控制序列

  • 也有些东西
  • 为后来 奠定基础
  • 黑底 绿字
  • 隔行 扫描

  • 可以试试
  • 这个 绿字变化的 效果吗?

matrix

  • 好像 有点字符雨的 意思 了

  • 不过 这纯绿色 和 颜色设置
  • 也没有什么关系啊!

总结

  • 这次 了解了控制序列 背后的故事
  • 一切标准 都是 从无到有 的
  • 就连 负责标准的组织 也是 从无到有 的

  • VT-05 奠定了 基础颜色
  • 黑底 绿字
  • 隔行 扫描
  • 但 多颜色设置
  • 如何出现 的呢??🤔
  • 我们下次再说!👋
  • 蓝桥->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
目录
相关文章
|
10天前
|
Rust JavaScript 前端开发
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
本文探讨了编程语言中的动态类型与静态类型、强类型与弱类型的概念。通过实例分析,如Python允许变量类型动态变化(如`age`从整型变为字符串),而C语言一旦声明变量类型则不可更改,体现了动态与静态类型的差异。此外,文章还对比了强类型(如Python,不允许隐式类型转换)和弱类型(如JavaScript,支持自动类型转换)的特点。最后总结指出,Python属于动态类型、强类型语言,对初学者友好但需注意类型混淆,并预告下期内容及提供学习资源链接。
48 21
|
8天前
|
Python Windows
[oeasy]python076_int这个词怎么来的_[词根溯源]整数类型_int_integer_touch
本文探讨了“int”一词的起源及其与整数类型的关联。通过词根溯源,揭示“int”来源于“integer”,意为“完整的数”,与零碎的分数相对。同时分析了相关词汇如“tact”(接触)、“touch”(触摸)及衍生词,如“tangential”(切线的)、“intagible”(无形的)和“integral”(完整的、不可或缺的)。文章还结合编程语言特性,解释了Python作为动态类型、强类型语言的特点,并总结了整型变量的概念与意义。最后预告了后续内容,提供了学习资源链接。
38 11
|
4天前
|
存储 C语言 Python
[oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
22 1
|
11天前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
24 4
|
17天前
|
Shell Python
[oeasy]python072_名字空间是怎么玩的_from_import_as_导入_namespace
本文介绍了Python中名字空间和模块导入的使用方法。主要内容包括: 1. **回忆上次内容**:回顾了之前导入系统模块(如`__hello__`、`time`)和自定义模块(如`my_file`),并介绍了如何导入和使用模块中的变量。 2. **从shell开始**:展示了如何在命令行中编辑和切换文件,以及如何通过`import`语句引入模块。 3. **修改oeasy.py**:演示了如何通过`import my_file`导入模块,并将模块中的`pi`赋值给本地变量`pi`。 4. **locals()函数**:解释了如何使用`locals()`查看当前作用域内的本地变量及其值。
29 8
|
15天前
|
Python
[oeasy]python073_下划线在python里是什么含义_内部变量_私有变量_系统变量
本文回顾了Python中从模块导入变量和函数的方式,重点讨论了避免本地变量名冲突(local name clashes)的方法。通过`from module import variable as alias`可以为导入的变量重命名,防止冲突。根据PEP8规范,建议避免使用`from module import *`,因为它会导入模块中所有非下划线开头的变量,容易引发冲突。下划线在变量命名中有特殊含义:单个前导下划线表示内部变量,后置下划线用于避免与关键字冲突,双下划线前后包围表示系统变量。总结了下划线的不同用法及其作用。下次将继续探讨更实用的编程技巧。
30 3
|
27天前
|
人工智能 自然语言处理 Shell
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
38 8
|
24天前
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 "hello world!" 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
24 4
|
1月前
|
人工智能 数据库 开发者
[oeasy]python068_异常处理之后做些什么_try语句的完全体_最终_finally
介绍了 Python 中 `try` 语句的完全体,包括 `try`、`except`、`else` 和 `finally` 子句的使用。通过实例展示了如何捕获异常并输出详细的错误信息,如文件名和行号。特别强调了 `finally` 子句的作用,无论是否发生异常,`finally` 都会执行,常用于清理操作。最后总结了 `try` 语句的四个部分及其应用场景,并简要提及了 Python 社区的决策机制。 #try #except #else #finally
27 1
|
1月前
|
人工智能 数据库连接 开发工具
[oeasy]python069_当前作用域都有些什么_列表dir_函数_builtins
本文介绍了Python中`dir()`函数的使用方法及其作用。`dir()`可以列出当前作用域内的所有变量和成员,类似于`locals()`,但`dir()`不仅限于本地变量,还能显示模块中的所有成员。通过`dir(__builtins__)`可以查看内建模块中的所有内建函数,如`print`、`ord`、`chr`等。此外,还回顾了`try-except-finally`结构在数据库连接中的应用,并解释了为何`print`函数可以直接使用而无需导入,因为它位于`__builtins__`模块中。最后,简要提及了删除`__builtins__.print`的方法及其影响。
35 0