實用工具

中英文空格排版工具

在中文與英文、數字之間加上空格,並修正中文裡的半形標點——不會動到程式碼和連結。

瀏覽器本機執行文字4822
免費

輸入

0 B

結果

結果會顯示在這裡。

中文技術文章在中文和拉丁文字之間加上空格會更好讀——在 GitHub 上有 1000 個 star,而不是在GitHub上有1000個star——中文句子裡也應該使用全形標點。這個工具兩件事都做:空格來自 pangu.js(廣受歡迎的 pangu 瀏覽器擴充功能背後的函式庫),標點規則來自許多中文開源專案遵循的《中文文案排版指北》。行內程式碼、程式碼區塊、網址、電子郵件地址、Markdown 連結目標和 HTML 標籤會先被保護起來,處理完再原樣放回,所以整份 README 可以直接貼進來。

它是怎麼運作的

  • 只在漢字與拉丁字母或數字相鄰處加空格,其他地方不動:純英文的文字維持原樣。
  • 緊接在中文後面的 , : ; ! ? 會變成 ,:;!?,句點變成 。,... 變成 ……,包住中文的括號變成 ();全形標點兩側的空格會被刪除。
  • ABC123 這類全形字母和數字會轉成一般的半形字元。
  • 關閉「修正標點」就只加空格。

你的資料去了哪裡

哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。

本工具免費且免登入,執行結果只存在於你目前的頁面裡,不會被儲存到任何地方。

它要花多少

本工具完全免費,不需要登入,也不消耗點數。

常見問題

為什麼要在中英文之間加空格?
這是排版慣例而不是文法規則,但在技術寫作中很普遍:留出間距能讓英文單字更醒目,文字也更容易瀏覽。《中文文案排版指北》和許多公司自己的中文風格指南都建議這樣做,大多數中文開源文件也是這樣寫的。
會破壞我的程式碼嗎?
反引號和程式碼區塊裡的程式碼不會——它們受到保護,逐位元組原樣傳回,網址、電子郵件地址和 Markdown 連結目標也一樣。但寫成一般文字的程式碼無法辨識:在 調用foo(bar)函數 裡,pangu 還會在括號前加空格,變成 調用 foo (bar) 函數。把程式碼放進反引號,就不會被改動。
會改英文標點嗎?
只有緊接在中文後面時才會。Hello, world! 維持不變;你好,世界! 會變成 你好,世界!。中文句子裡夾在兩個英文單字之間的逗號維持半形。

背後的開源專案

本工具執行在 vinta/pangu.js 之上,以 MIT 授權發布。如果你需要在自己的程式裡實作同樣的能力,直接用這個函式庫。

vinta/pangu.js

也常被稱作

  • 中英文空格
  • 盤古之白
  • pangu 空格
  • 中文排版
  • 中文文案排版指北
  • 全形標點轉換