中文混排为什么要加空格?

更新于 2026 年 5 月

有用户问到:“为什么 Flow 输出的文字里,中文和英文、数字之间会有空格?”

简短的回答:中文和英文、数字之间确实应该有间距——这是中文排版的通用做法,不是 Flow 的独创行为。

不过这里有一个重要的区分:专业排版软件(如 InDesign、LaTeX)会自动产生这个间距,不需要手动打空格。但在微信、飞书、邮件这些纯文本环境中,没有排版引擎来自动处理,所以需要用半角空格来近似实现。

Flow 做的就是这件事——在纯文本环境中,帮你实现专业排版软件自动完成的排版效果。

以下是完整的解释和依据。

一、排版规范怎么说

W3C《中文排版需求》(CLREQ)

W3C CLREQ 是由万维网联盟(W3C)发布的中文排版标准文档。它规定:

汉字与西文字母、阿拉伯数字之间,原则上使用不多于四分之一个汉字宽的字距或空白。

注意,CLREQ 规定的是排版间距(四分之一个汉字宽),不是“打一个空格”。在专业排版软件中,这个间距由排版引擎自动生成。但在纯文本环境中(如聊天软件、邮件、网页输入框),无法精确控制间距宽度,因此普遍使用一个半角空格(U+0020)来近似实现。

专业排版怎么处理

在专业出版领域,这个间距不需要作者手动输入:

人民日报、新华社等出版物的中西文之间也有视觉间距,但那是排版软件的自动 kerning 效果,不是源文件中的空格字符。

纯文本环境怎么处理

在没有排版引擎的纯文本环境中(微信、飞书、短信、邮件、小红书),多个主流平台的中文风格指南要求用半角空格来实现这个间距:

二、不是国标强制要求,但也不是个人偏好

需要说清楚的是:没有任何中国国家标准(GB/T)要求作者在源文件中手动打空格。

但它也不是个人偏好或审美选择——中西文之间保留间距是有 W3C 国际标准、CSS 浏览器标准和多个平台风格指南支撑的排版规范。在有排版引擎的环境中由软件自动实现,在纯文本环境中用半角空格近似实现。

三、正确的加法和常见例外

空格不是机械地“在所有英文和数字两侧”都加。以下是正确的做法:

✓ 正确我用 GPT-5 写了 100 字。

✓ 正确刚买了一部 iPhone,好开心!

✓ 正确这个功能在 v2.0 版本中发布。

✗ 错误刚买了一部 iPhone ,好开心!(中文标点前不加空格)

✗ 错误访问 https://flowkeyboard .com(URL 不拆开)

例外情况

  1. 中文全角标点前后不加空格——“iPhone,好开心”而不是“iPhone ,好开心”。标点紧跟前面的文字。
  2. URL、邮箱、路径、代码不拆开——保持原始结构完整,不在内部插入空格。
  3. 英文内部、数字与单位保留原结构——“iPhone 15 Pro”“10 Gbps”“20 TB”保持英文世界的空格习惯。
  4. 品牌名尊重官方写法——如果官方写法是“豆瓣FM”或“bilibili”,不强行加空格或改大小写。
  5. 版本号、标准编号保持原格式——“v1.2.3”“GB/T 15834-2011”不拆开。

四、为什么 Flow 默认加空格

Flow 输入法的定位是“说话出稿”——你自然地说话,输出的是整理好的、可以直接使用的书面文字。

用户使用 Flow 输出文字的地方通常是微信、飞书、短信、邮件、小红书、网页输入框——这些都是纯文本环境,没有 InDesign、Word 那样的排版引擎来自动处理中西文间距。

Flow 做的事情,本质上是:在纯文本环境中,用半角空格帮你实现专业排版软件自动完成的排版效果。同时智能处理例外情况(标点前后不加、URL 不拆开等)。这和 Flow 的产品理念一致——让输出的文字更专业、更易读,不需要用户手动修改格式。

五、参考资料