[oeasy]python0079_控制序列_光标位置设置_ESC_逃逸字符_CSI
- 上次我们研究的比较杂
- 类型转化
- 进制转化
- 捕获异常
- 版本控制
- 生成帮助文档
- 变量的常用类型
- 变量的生命周期控制
- 数据类型主要研究了两个
- 字符串
- str
- 整型数字
- int
- 字符串型 和 整型数字型变量
- 是可以相互转化的
- 加法运算逻辑 会根据操作变量的不同 而不同
- 整型变量的加法 是真的加
- 字符串的加法 是字符串拼接
- 字符串中有一些转义字符
- \n
- \r
- \t
- 都是什么意思来着??
- 还有什么没见过的转字符吗??
- 转义转义
- 转化含义
- 下图中hello的o
- 为什么消失了?
- \b 是一个字符
- 代表的含义是退格
- hello中的o
- 被退格符删除了
- 如果不用chr
- 想要直接打出上面的效果
- 应该怎么办呢?
- 想要用\b替换chr(8)
- 程序报错了
- 续行符(\)之后
- 有不期待的字符
- 想要获得同样的字符
- 应该怎么办呢?
- \反斜杠(backslash) 在程序里面的作用
- 是续行符
- line continuation character
- 当把\反斜杠(backslash)放入双引号里面之后
- \反斜杠 就是 转义字符
- escape character
- 转义字符
- 在字符串中有特殊的含义
- 可以和后面的字符一起
- 构成转义序列
- escape sequence
- 在下图中
- \b 就是转义序列
- escape sequence
- \b 这个转义序列
- 是由两部分组成
- \ 转义字符
- escape character
- b 具体转到的含义
- 这两个字符的序列组合起来的意思
- 就是退格
- backspace
- 还有什么转义字符吗?
- \n 这个转义序列的意思是
- line feed
- 换行
- \r 这个转义序列的意思是
- carriage return
- 回车
- 可以看到更多的转义字符吗?
- 回忆
- 可以用八进制
- \ooo
- 用十六进制
- \xhh
- 来表示转义字符
- 这就是全部转义字符了吗?
- 转义字符
- 具有一定的控制作用
- 也被叫做 控制字符
- control characters
- 以下就是
- ascii中的全部转义字符
- 居然有转义序列
- 转义之后的的含义是 escape
- 来回顾一下
- \是转义字符
- 要和后面的字符一起构成转义序列
- \e是转义序列
- 也被称作 逃逸字符
- escape
- 这 逃逸字符 escape
- 逃逸指的是什么意思呢?
- 我们来试试
- 实践证明
- 直接使用\e是不行的
- 但是可以使用
- \e 的 8进制形式
- 用 \033 代替 \e
- 这样可以控制输出字符串的位置!!!
- 真的可以逃逸出 当前输出序列
- 控制定位 再输出
- 从正常的输出流
- 逃逸到了 控制序列!!!
- 从标准输出序列中逃逸出来
- 可以让输出
- 从当前的字符串序列中
- 退出(Escape) 出去
- 后面的内容
- 可就不是 输出的文本 了
- 而是 控制序列(Control Sequence)
- [10;20H 控制 输出位置
- 在第10行第20列进行输出
- 那为什么有控制序列呢?
- 电传打字机 输出的颜色
- 只能通过 控制色带(类似于墨盒)
- 来控制 打印颜色的深浅
- 是物理过程
- 早期的终端
- 通过调节 显示器亮度
- 来改变显示效果
- 各个终端的 制造商
- 都有 自己独特的 控制字符
- 这些特殊字符 是和 机器型号相关 的
- 只要 接受到 这些控制字符
- 终端 就可以 调整输出方式
- 但是 并没有统一标准
- 但是不同终端
- 控制方式不同
- 可能 造成显示状态 异常
- 远程终端输出结果不可控
- 需要一个关于控制字符的统一标准
- 1964 年 ISO 646
- 在欧洲以ECMA-6的形式存在
- 后来被ANSI(American National Standards Institute)
- 整合为工业标准
- 叫做 ANSI X3.64
- 这个字符集 是不是很像 ascii
- 而且包括了 整个黑暗森林
- 这套标准
- 本来 在各种电传打字机 被实现
- 后来 在各种终端中 被实现
- 现在 在terminal软件 被实现
- Teletype Model ASR-33 终端键盘
- 数据通信行业 最受欢迎的终端之一
- 1963 年推出
- 注意 shift 和 ctrl 都已经出现
- Alt Mode 出现在第 1 列
- \e这个转义序列
- 有了对应的按键吗?
- ALT MODE
- 是用来 切换模式的 特殊按键
- 这是当时的 esc 键 吗?
- 这次了解了 新的转义模式
- \033 逃逸控制字符 escape
- 这个字符 让字符串 退出标准输出流
- 进行控制信息的设置
- 可以设置 光标输出的位置
- ASR33中的ALT MODE
- 是 今天的ESC键吗????
- 我们下次再说!
[oeasy]python0079_控制序列_光标位置设置_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的指定位置或者选中某些文本.同样,为了方便 ...
随机推荐
- efcore如何优雅的实现按年分库按月分表
efcore如何优雅的实现按年分库按月分表 介绍 本文ShardinfCore版本 本期主角: ShardingCore 一款ef-core下高性能.轻量级针对分表分库读写分离的解决方案,具有零依赖. ...
- 8.16考试总结(NOIP模拟41)[你相信引力吗·marshland·party?·半夜]
美丽的不是这个世界,而是看世界的你的眼神. T1 你相信引力吗 解题思路 好像只有我一个人没有看出来这个题是单调栈(现在一看区间问题就是双指针,线段树) 维护一个单调递减的栈. 我们把最大值放到左端点 ...
- 7.12考试总结(NOIP模拟12)[简单的区间·简单的玄学·简单的填数]
即使想放弃,也没法放弃最想要的东西,这就是人 前言 这次应该是和 SDFZ 一起打的第一场比赛吧. 然而我还是 FW 一个... 这次考试也有不少遗憾,主要的问题是码力不足,不敢去直面正解,思考程度不 ...
- SMOGN算法Python实现:解决回归分析中的数据不平衡
本文介绍基于Python语言中的smogn包,读取.csv格式的Excel表格文件,实现SMOGN算法,对机器学习.深度学习回归中,训练数据集不平衡的情况加以解决的具体方法. 在不平衡回归问题 ...
- Java StringBuffer 与StringBuilder 类的介绍与区别
目录 StringBuffer类(用来解决String类的内存浪费问题) 构造方法 public StringBuffer(); 无参构造 public StringBuffer( String ); ...
- 第一次至第三次PTAJava大作业分析
(1)前言: 三次题目集的知识点: 正则表达式(Regular Expression,简称Regex或RegExp)是一个强大的文本处理工具,用于匹配.查找和替换字符串.以下是正则表达式的主要知识点总 ...
- Qt OPC UA通信
介绍 OPC UA全称Open Platform Unified Architecture,开放平台统一架构,是工业自动化领域通用的数据交换协议,它有两套主要的通信机制:1.客户端-服务器通信:2.发 ...
- OOP第一阶段题集总结
一.前言 知识点:数组,字符串的使用,链表,hashmap,泛型的使用,正则表达式的使用,类的设计,类与类之间的关系,单一职责. 题量:题目数量为5+4+3,数量适中,其中都是前几题较简单,最后一题较 ...
- Unity 3D 的NEW (堆内存)
用容器装 在AWEKE NEW 运行时NEW 会导致分配内存时界面卡住, new class 的时候 才刷新程序帧 AWEKE 是程序启动时还没走完第一帧的开头执行 AWEKE 里面的代码 常量也在A ...
- 夜莺中心端管理categraf采集规则并下发
痛点 市面上常见的采集器,比如 telegraf.grafana-agent.datadog-agent 等,通常内置了多种采集插件,比如可以采集操作系统的常规指标,也可以采集 mysql.redis ...