最近在做iOS上的SSH终端项目,主要是在手机上远程连接Unix系统,并进行一些简单的指令操作,类似于SecureCRT;今天想总结一下这个项目中遇到的新东西----ANSI escape code。

  摘抄https://en.wikipedia.org/wiki/ANSI_escape_code一句话简单概括:In computingANSI escape codes (or escape sequences) are a method using in-band signaling to control theformatting, color, and other output options on video text terminals. To encode this formatting information, certain sequences of bytes are embedded into the text, which the terminal looks for and interprets as commands, not ascharacter codes.简单的说,一般我们接触比较多得指令终端(terminal),比如:Linux、Mac和Unix上的指令终端,多是采用ANSI控制码控制显示文本的格式和进行一些控制操作。

  终端传过来的数据是包含ANSI控制码的,需要对其进行解码才能将文本的颜色和字体等格式显示出来。于是在github上寻找一番,果然找到了,这里不得不赞一下开源精神的伟大,谢谢那些为开源而奉献的coders。这里需要注意的一点是有些开源项目或许时间久远,作者没有更新,或许是和你的需求不一致,不能直接简单粗暴的直接使用时,需要我们改一些东西,我觉得这是学习的好机会,可以把源码阅读一遍,然后做一些符合自己需求的修改。

  总结两点:第一,这篇文章主要介绍了处理终端的文本格式你需要了解的是ANSI escape code,github上相关解码的开源项目;第二,感想,写博客必备结尾,嘿嘿~这种项目之前做的比较少,一般做的都是iOS主流的一些功能,幸亏大学的时候接触了点Linux开发的东西,要不连基本的Linux终端指令都不知道是什么,那就有点困难了。但是,困难越多,要学习的东西也越多,不仅积累了知识,同时在处理问题的思路上也会不断的成熟,能力自然会得到提升,虽然过程很受虐,但是感觉倍儿爽;PS:博客第一次写,水平有限,上面的内容若有偏颇,欢迎指正

ANSI escape code的更多相关文章

  1. ANSI转义代码(ANSI escape code)

    ANSI escape code - Wikipedia linux 输出绿色的✓TRUE,红色的✗FALSE : echo -e "\x1B[1;32m✓TRUE \x1B[0mXXX&q ...

  2. 让控制台支持 ANSI 转义序列,输出下划线、修改颜色或其他控制

    各种操作系统的控制台都支持 ANSI 转义序列(ANSI Escape Code).使用转义序列,可以对控制台进行很多额外的定制,例如修改颜色.修改标题栏,将文字添加下划线等. 当然,.NET 已经帮 ...

  3. GO语言的开源库

    Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.org ...

  4. shell之echo与printf和颜色

    在用户的bashrc中添加一行export来修改提示符.

  5. Spring Boot 启动加载数据 CommandLineRunner

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求. 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来 ...

  6. Go语言(golang)开源项目大全

    转http://www.open-open.com/lib/view/open1396063913278.html内容目录Astronomy构建工具缓存云计算命令行选项解析器命令行工具压缩配置文件解析 ...

  7. [转]Go语言(golang)开源项目大全

    内容目录 Astronomy 构建工具 缓存 云计算 命令行选项解析器 命令行工具 压缩 配置文件解析器 控制台用户界面 加密 数据处理 数据结构 数据库和存储 开发工具 分布式/网格计算 文档 编辑 ...

  8. Linux - 简明Shell编程12 - 定制输出(ColorOutput)

    脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...

  9. Spring Boot 2.0 教程 - 深入SpringAplication

    原文连接:https://www.codemore.top/cates/Backend/post/2018-05-20/spring-boot-SpringApplication 可以通过Spring ...

随机推荐

  1. 启明星辰:安全管理平台(SOC)

    泰 合信息安全运营中心(Security Operation Center)系统是一个以IT资产为基础,以业务信息系统为核心,以客户体验为指引,从监控.审计.风险.运维四个维度建立起来的一套可度量的统 ...

  2. 分页SQL技术1-COUNT STOPKEY.

    条件有rownum的时候出现 扫描表,到前n行停止

  3. Android常用的一些make命令(转载)--不错

    原文网址:http://blog.sina.com.cn/s/blog_abc7e49a01011y0n.html 1.make -jXX  XX表示数字,这个命令将编译Android系统并生成镜像, ...

  4. 【转】通知 Toast详细用法(显示view)

    原文网址:http://www.pocketdigi.com/20100904/87.html 今天学习Android通知 Toast的用法,Toast在手机屏幕上向用户显示一条信息,一段时间后信息会 ...

  5. FFT(快速傅立叶变换):HDU 1402 A * B Problem Plus

    Calculate A * B. Input Each line will contain two integers A and B. Process to end of file. Note: th ...

  6. 【扩展欧几里得】BAPC2014 I Interesting Integers (Codeforces GYM 100526)

    题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...

  7. 高效算法——Bin Packing F - 贪心

      Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Descripti ...

  8. www.chenbowenblog.com 博客地址转移

    我的新博客地址是 www.chenbowenblog.com 欢迎来访.

  9. SRM 407(1-250pt, 1-500pt)

    DIV1 250pt 题意:每个员工可以有几个直系上司,也可以有几个直系下属.没有直系下属的人工资为1,有直系下属的人工资为所有直系下属工资之和.求所有人工资之和.人数 <= 50. 解法:直接 ...

  10. 你真正的了解Ajax?Ajax技术简述

    Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合.Ajax并没有创造出某种具体的新技术,它所使用的大多数技术都是在很多年以前就已经存在了,然而Ajax以一种崭新的方式来 ...