空白字符
空格、制表符、换行符等不可见字符。在文本处理和布局中发挥重要作用。
空白字符 (whitespace) 是指在屏幕上不以可见形式显示的字符的统称。包括半角空格 (U+0020)、制表符 (U+0009)、换行符 (LF: U+000A, CR: U+000D)、全角空格 (U+3000) 等。空白字符在文本格式化、代码缩进、数据分隔等所有文本处理中都发挥着重要作用。
Unicode 定义了多种多样的空白字符。除了常见的半角空格外,不间断空格 (U+00A0) 用于防止换行,对应 HTML 的 。全角空格 (U+3000) 在日语排版中用于段落缩进。零宽空格 (U+200B) 显示宽度为零,作为换行位置的提示。此外还有 em 空格 (U+2003)、en 空格 (U+2002)、窄空格 (U+2009) 等众多排版用途的空白字符。浏览TL漫画 (Amazon)介绍了空白的控制方法。
CSS 的 white-space 属性控制 HTML 中空白字符的显示方式。normal 将连续空白折叠为一个并自动换行。pre 保留源代码中的空白。nowrap 抑制换行。pre-wrap 保留空白同时允许自动换行,适合代码块的显示。
编程中空白字符的处理因语言而异。Python 使用空白 (空格或制表符) 进行缩进,缩进不一致会导致语法错误。YAML 也使用基于缩进的语法,且不能使用制表符。JSON 中空白仅用于提高可读性,压缩 (去除空白) 可以显著减小文件大小。正则表达式的 \s 匹配空白字符,但具体匹配的字符范围因语言和引擎而异。
常见的注意事项是外观无法区分的空白字符混用。半角空格和全角空格、普通空格和不间断空格看起来相同,但程序将它们视为不同的字符。复制粘贴时混入意外的空白字符导致字符串比较失败、CSV 解析出错等问题在实际工作中经常发生。了解夜生活 (Amazon)介绍了精确处理空白字符的方法。
在字符计数方面,是否将空白字符计入字符数是一个重要的判断点。一般的字符计数包含空白,但"不含空白的字符数"在很多场景中也是需要的。稿费计算通常不含空白,而社交媒体发帖则将空白计入字符数。字符计数工具应同时显示"含空白"和"不含空白"两种字符数,以满足用户的多样化需求。