[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI
光标位置
回忆上次内容
- 上次讲了 三引号的输出
- 三引号中
- 回车和引号 都会 被原样输出
\还是需要从\\转义
- 黑暗森林 快被摸排清了
- 还有哪个 转义序列
- 没 研究过吗?
- 还有哪个 转义序列

\e是 干什么的?
回忆转义
- 转义转义
- 转化含义

\反斜杠(backslash)加了之后- 字符就不是原来的意思了
- 转义么
- 转义转义
- 转化含义
- 所以
\反斜杠这个字符- 也叫做转义字符
Escape character \b这两个字符的序列算是一个转义序列Escape sequence\这个转义字符会让\b转义序列- 转义为
Backspace这个含义 Backspace退格就是这个序列转化含义之后的含义
- 转义为
- 这个转化后的含义也对应一个ascii字符
- 就是
\b - 键盘上的退格对应的数值就是
8
- 就是
- 也叫做转义字符
转义 Escape
\e是什么意思呢?

- 转义之后的的含义竟然是 escape
搜索结果
- 来捋一捋

\是转义字符- 要和后面的字符一起构成转义序列
\e是转义序列- 转义的含义是 escape
- 所谓转义转义
- 转化含义
- 转义序列
\e对应的字符含义是Escape - 再次逃逸出去
- 能逃去到哪里呢?
逃逸
- 从标准输出序列中逃逸出来

- 可以让输出
- 从当前的字符串序列中
- 逃逸(Escape)出去
- 后面的内容
- 可就不是 输出的文本 了
- 从当前的字符串序列中
- 而是 控制序列(Control Sequence)
[10;20H控制 输出位置- 在
第10行第20列进行输出
- 在
- 这种控制方法
- 在今天被称为
- ANSI escape code 标准
- 在今天被称为
- 我们来试试
动手实验

- 真的可以定位输出
- 从正常的输出流逃逸到了控制序列!!!

- 那为什么有控制序列呢?
缘起
- 电传打字机 输出的颜色
- 只能通过 控制色带(类似于墨盒)
- 来控制 打印颜色的深浅
- 是物理过程
- 来控制 打印颜色的深浅
- 只能通过 控制色带(类似于墨盒)

- 早期的终端
- 通过调节 显示器亮度 来改变显示效果
- 各个终端的 制造商
- 都有 自己独特的 控制字符
- 这些特殊字符 是和 机器相关 的
- 彼此 并不兼容
- 但只要 接受到 这些控制字符
- 终端 就可以 调整输出方式
- 比如
- 在 某个横纵坐标位置
[x,y]- 输出字符
- 在 某个横纵坐标位置
- 这就是 数字过程了
统一标准
- 但是不同终端
- 控制方式不同
- 可能 造成显示状态
异常 - 远程终端输出结果不可控
- 需要一个关于控制字符的统一标准
- 1964 年
ISO 646- 在欧洲以
ECMA-6的形式存在 - 后来被
ANSI(American National Standards Institute)- 整合为工业标准
- 叫做 ANSI X3.64
- 在欧洲以

- 是不是很像ascii
- 而且包括了 整个黑暗森林
- 本来 在各种电传打字机 中实现支持
- 现在在
terminal软件中实现支持
- 现在在
esc 键
- Teletype Model ASR-33 终端键盘
- 数据通信行业 最受欢迎的终端之一
- 1963 年推出
- 注意 shift 和 ctrl 都已经出现
- Alt Mode 出现在第 1 列

\e这个转义序列 有了对应的按键吗?ALT MODE- 是用来 切换模式的 特殊按键
- 这是当时的
esc键 吗?
总结
- 这次了解了 新的转义模式
- \33 逃逸控制字符 esc
- 这个字符让输出退出标准输出流
- 进行控制信息的设置
- 可以设置光标输出的位置
- \33 逃逸控制字符 esc

- ASR33中的ALT MODE
- 是 今天的ESC吗????

- 我们下次再说!
- 蓝桥->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]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI的更多相关文章
- MFC中窗口启动后,CEdit编辑框默认光标位置设置,顺序的调节方法
MFC中窗口启动后,CEdit编辑框默认光标位设置,顺序的调节方法 在编辑界面按下ctrl+D键,就会出现所有控件的Tab键顺序,按照自己想要的顺序依次点击控件,就可以重新安排顺序.数值1就是默认停留 ...
- Android 光标位置设置
EditText edit =(EditText) findViewById(R.id.etTest); 1.设置光标在EditText中的指定位置 edit.setSelection(1); 需要注 ...
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
1.模拟键盘输入(SendKeys) 功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法:SendKeys.Send(string keys);SendKeys.SendWa ...
- javascript获取以及设置光标位置
一. 获取光标位置: // 获取光标位置 function getCursortPosition (textDom) { var cursorPos = 0; if (document.selecti ...
- [Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
有时候需要让光标显示在EditText的指定位置或者选中某些文本.同样,为了方便用户输入以提升用户体验,可能需要使EditText获得或失去焦点. 1. 设置光标到指定位置 EditText et ...
- Android 设置EditText光标位置
Android中有很多可编辑的弹出框,其中有些是让我们来修改其中的字符,这时光标位置定位在哪里呢? 刚刚解了一个bug是关于这个光标的位置的,似乎Android原生中这种情况是把光标定位到字符串的最前 ...
- UITextField 光标的位置设置获取
UITextField 光标的位置设置获取 通过给UITextField 加一个拓展 //#import "UITextField+ExtentRange.h" #import & ...
- Android 设置EditText光标位置(转)
Android 设置EditText光标位置 最后 CharSequence text = edtTxt_my_account_edit_nickname.getText();if (text ins ...
- C# 设置鼠标光标位置
C# 设置鼠标光标位置 using System.Drawing; using System.Runtime.InteropServices; namespace ZB.QueueSys.Common ...
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点(转)
转:http://blog.csdn.net/dajian790626/article/details/8464722 有时候需要让光标显示在EditText的指定位置或者选中某些文本.同样,为了方便 ...
随机推荐
- 彻底搞懂JavaScript原型和原型链
基于原型编程 在面向对象的编程语言中,类和对象的关系是铸模和铸件的关系,对象总是从类创建而来,比如Java中,必须先创建类再基于类实例化对象. 而在基于原型编程的思想中,类并不是必须的,对象都是通过克 ...
- Python OpenCV #1 - OpenCV介绍
一.OpenCV介绍 1.1 OpenCV-Python教程简介 OpenCV由 Gary Bradsky 于1999年在英特尔创立,第一个版本于2000年发布. Vadim Pisarevsky 加 ...
- vue.js的M-V-VM思想
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式. Model 指代的就是vue对象的data属性里面的数据.这里的数据要显示到页面中. View 指代的就 ...
- c# - 如何在圆角 WPF 窗体中创建圆角矩形?
我正在 WPF 中创建一个应用程序,我想要圆角.收到.现在窗体是无边框的,我正在尝试创建一个圆角矩形并将其放在顶部,使其看起来像 Windows 应用程序的顶部栏. 我做不到. 这是我的代码: < ...
- swift_slowAlloc Crash 分析
一.Crash详情 Crash类型 exception EXC_BREAKPOINT (SIGTRAP) reason EXC_BREAKPOINT EXC_ARM_BREAKPOINT fault_ ...
- python脚本将ascii码形式的文件转换为真正的二进制文件
1.通过tcpdump在越狱手机上面抓取所有包,包含环路包 将手机通过USB线连接电脑,并将其映射到本地端口,启动抓包 rvictl -s bb44203ca128c7b13bfc66fa34f6c1 ...
- OpenCV笔记(6) Bitwise
源码: BitwiseAnd //dst = src1 & src2 public static void BitwiseAnd(InputArray src1, InputArray s ...
- .NET程序对接 OpenTelemetry logs
OpenTelemetry 简介 OpenTelemetry 是一个由 CNCF(Cloud Native Computing Foundation)托管的开源项目,旨在为观察性(Observabil ...
- 操作标签的属性和属性值 table表格
// 操作标签的属性和属性值 // 特殊的属性 // 可以直接通过 点语法或者[]语法来操作的属性 // id 和 class ...
- 苹果手机 ios 系统如何升级为鸿蒙HarmonyOS
用苹果手机的朋友们注意了 根据最新的可靠消息,苹果手机升级为HarmonyOS,教程如下: 第一步 手机电量充足的情况下,将苹果手机连接至WIFI无线网络. 第二步 ...... [下一页]