将文本左对齐、居中、右对齐或两端对齐
- 或 = 制作 ASCII 分隔线(居中文本两侧由破折号包围),* 用于引人注目的横幅,. 用于目录式点引导线,或 ~ 用于装饰性波浪线。对齐结果随设置更改即时更新,复制按钮将格式化输出传输到剪贴板。所有格式化在浏览器中运行——文本内容永不离开设备。居中对齐通过在两侧添加等量填充将文本放在行中间——它从不改变单词间距。每行的居中独立进行,因此不同长度的行中心对齐但两侧边缘参差不齐。这产生干净对称的输出,适合标题、页眉和诗歌。<strong>两端对齐</strong>通过在单词之间添加额外空间将每行拉伸到填满整个宽度——左右边缘都完全平直,如同报纸栏。算法通过以下方式工作:(1) 计算达到目标宽度需要多少额外空间,(2) 在单词之间均匀分配这些空间(分配不均时额外空间分配给最左边的间隙)。两端对齐在以下情况最佳:行接近目标宽度(70-90% 以内)——拉伸短行会产生巨大的词间隙(在排版中称为"河流");单词相对较短——长单词留下较少间隙吸收额外空间;每行有多个单词——单行词无法两端对齐。对于英文文本,两端对齐通常在 60-80 字符宽度时效果良好。PivaBox 文本对齐工具完全客户端运行——您的文本保持私密。
工具使用 JavaScript 的 <code>.length</code> 属性,计数 UTF-16 代码单元。这对大多数字符正确,但对对齐精度有影响:(1) <strong>CJK 字符</strong>——中文、日文和韩文字符在 JavaScript 中计为 1 单元,但在等宽终端显示中约占据 2 个字符宽度(它们是"全角")。对齐器将其视为 1 字符宽,因此包含 CJK 文本的行在等宽终端中可能显示为未对齐。对于以 CJK 为主的文本对齐,建议使用专门的 CJK 格式化工具。(2) <strong>表情符号</strong>——许多表情符号以代理对(2 个 UTF-16 代码单元)表示,在 <code>.length</code> 中计为 2 字符,但显示宽度因表情符号和平台而异。(3) <strong>组合字符</strong>——带重音字符可以是基础字符 + 组合变音标记(如 'é' 表示为 <code>e</code> + <code>́</code>),计为 2 代码单元但显示为 1 字形。对于大多数拉丁文本对齐任务,这些边界情况影响较小。对于需要像素完美 CJK+拉丁对齐的专业等宽排版,建议使用专门的终端格式化库。
文本对齐在开发和内容创建中有多种用途:(1) <strong>ASCII 艺术和横幅</strong>——在 MOTD(每日消息)文件、SSH 登录横幅或复古 BBS 风格图形中,将文本居中于装饰性边框内。(2) <strong>代码注释和文档页眉</strong>——创建视觉结构化的注释块,包含居中章节标题两侧的等号或破折号。(3) <strong>纯文本表格</strong>——右对齐数字列以实现基于文本的表格生成器和 CSV 预览中的正确数字对齐。(4) <strong>终端 UI 布局</strong>——在 CLI 应用程序和 Shell 脚本中对齐状态消息、进度条和菜单项。(5) <strong>邮件签名</strong>——为纯文本邮件客户端格式化具有一致宽度和对齐的多行签名。(6) <strong>固定宽度数据文件</strong>——生成正确填充的字段以适配期望固定宽度记录格式的遗留系统。(7) <strong>README 徽章和 shields</strong>——在 GitHub README 文件中居中徽章行。PivaBox 文本对齐工具为所有这些用例提供即时、私密的文本格式化。