markdown语法之空白符与字符
空白符
md中常用的空白符包括Space,Tab,Enter。
- Space(空格)和Tab(水平制表)都有对应的ASCII码。
- Enter的处理比较麻烦一点。不同系统会有不同方法。所以我这里只写了Enter。具体到不同的系统,Enter对应的ASCII码不同。CommonMark的说法是:A line ending is a newline (U+000A), a carriage return (U+000D) not followed by a newline, or a carriage return and a following newline.
一个Tab等于最多四个Space。
- 在VSCode中按一下Tab其实会自动转换成若干个空格,具体转换成几个空格决定于插入位置之前已经有多少个字符。
- 同理,任何需要输入一个Tab的地方,可以用键入最多四个空格代替。
不论多少个连续的Space或Tab或Enter,一般渲染后只显示一个空格(不会有换行效果)。例如
a b c
ou
显示为
a b c
ou如果要现实换行需要在上一行结尾处打两个Space加一个Enter。 有的md编辑器,只需一个Enter即可换行
a b c
ou
显示为
a b c
ou如果两行文字之间存在一个或多个空行那么这些空行渲染后会显示(不论上一行末尾有没有双Space)。
a b c
o u
显示为
a b c
o u
md中的空行可以不仅有Enter。一行除了开头的Enter,仅有任意个Space或Tab也算空行。
但是目前在VS中如果在一个空行上有除了开头Enter以外的Space或Tab,可能会影响后续段落的语法高亮。(能正常渲染,但是编辑源代码模式下语法高亮功能有可能不识别。)
不论源代码两行文字中间有多少空行,最终只显示为一个空行。
a b c
o u
显示为
a b c
o u
字符
- 除了上述三种空白符。ASCII十六进制编码为21到7E的字符也可以用于md文档。
- 本质上md源代码就是一个改了后缀名的文本文档。因此如果使用Unicode(UTF-16)或者UTF-8保存文本。那么非ASCII字符也可以用于md文档中。
还没有评论,来说两句吧...