1. HTML 实体
1.1. 是什么?
HTML 实体是一段以连字号(&)开头、以分号(;)结尾的文本。实体常常用于显示保留字符(这些字符会被解析为 HTML 代码)和不可见的字符(如“不换行空格”)。你也可以用实体来代替其他难以用标准键盘键入的字符。
图1:几个例子
1.2. html-entities
用途:HTML 实体编码、解码库。
安装:
代码语言:javascript复制npm install html-entities
示例:
代码语言:javascript复制import { AllHtmlEntities } from 'html-entities';
const entities = new AllHtmlEntities();
console.log(entities.encode('<>"&©®∆')); // <>"&©®∆
console.log(entities.encodeNonUTF('<>"&©®∆')); // <>"&©®∆
console.log(entities.encodeNonASCII('<>"&©®∆')); // <>"&©®∆
console.log(entities.decode('<>"&©®')); // <>"&©®
- encode — encodes, replacing characters to its entity representations. Ignores UTF characters with no entity representation.
- encodeNonUTF — encodes, replacing characters to its entity representations. Inserts numeric entities for UTF characters.
- encodeNonASCII — encodes, replacing only non-ASCII characters to its numeric entity representations.
- decode — decodes, replacing entities to characters. Unknown entities are left as is.
2. ANSI 转义序列
2.1. 是什么?
ANSI 转义序列(ANSI escape sequence)是一种用于控制终端输出的色彩、样式、光标位置以及控制终端行为的特殊序列。
- ANSI 转义序列使用 ASCII 码为 0x1b(8进制: 033, 10进制: 27)的字节作为转义字符, 而不是通常使用的反斜杠转义符 (0x5c)。这个字符是非打印字符, 被称为 ESC。
- 转义序列格式:ESC[<code><tail>
- ESC[ 被称作 Control Sequence Introducer (CSI), 它是大多数 ANSI 转义序列的开头。
- 字符 <tail> 则用于标志一个转义序列的结尾,不同的 tail 对应不同功能。
- <code> 则是转义序列的具体内容。
- 形如 ESC[n m 的转义序列也被称为 Select Graphic Rendition (SGR) 序列,用来描述此序列之后的字符在终端中的呈现格式。它采用字母 m 作为结尾。
示例1:入门
示例2:进阶
代码语言:javascript复制function printSingleLine(text){
const MOVELEFT = '