免費中文全形 ↔ 半形標點轉換器。只在中文語境裡轉換標點,小數、網址、電子郵件原樣保留;可選數字和字母轉換。

RT-CHN-038 · Chinese Language & Script
你的瀏覽器版本過舊,此工具的互動功能無法運作。請更新至 Safari 13.1、Chrome 或 Edge 80、Firefox 74 或以上版本。

全形半形轉換器

📅 研究資料截至 2026年10月2日 · 來源: GB/T 15834-2011 《标点符号用法》 (mainland China, in force 1 June 2012) and the Taiwan Ministry of Education's 《重訂標點符號手冊》修訂版 (2008) for where each mark sits; Unicode's East Asian Width property and its wide compatibility mappings for U+FF01–FF5E and U+3000 for the conversion.
標準、已發表的公式與參考資料會隨時間修訂 — 依據這些數字行動前,請對照現行的權威來源確認。
Advertisement
After results · AD-W1 Responsive

使用方法

選擇方向

全形 → 半形,或半形 → 全形。半形 → 全形只轉換中文語境裡的標點,英文片語、小數、網址和電子郵件保持原樣。

選擇轉換範圍

「標點符號」和「數字和字母」互不影響:只勾「數字和字母」時,只轉換 0-9、A-Z、a-z。

選擇引號

半形 → 全形時," 和 ' 成對轉換為「 」『 』(教育部《重訂標點符號手冊》)或 “ ” ‘ ’(大陸 GB/T 15834-2011)。

貼上文字並複製結果

輸入時即時轉換,按「複製」取用結果。

全形與半形:對中文標點的意義

在 Unicode 裡,「全形」是每個字元各自的屬性(East Asian Width)。全形 ASCII 字元 U+FF01–FF5E 與 ASCII 的 U+0021–007E 一一對應,表意空格 U+3000 對應一般空格 U+0020。所以中文逗號「,」(U+FF0C)和英文逗號「,」(U+002C)是兩個不同的字元。

但不是每個中文標點都有「全形」這個屬性。“ ” ‘ ’ — … · 在 Unicode 裡屬於「寬度不定」(ambiguous),顯示多寬由字型決定;「 」《 》。、屬於寬字元,,:;!?( )屬於全形字元。

標準規定的是位置,不是「全形」

教育部《重訂標點符號手冊》修訂版(2008)沒有要求「使用全形標點」,而是規定每個標點在字格裡的位置:句號、逗號、頓號、分號、冒號、問號、驚嘆號都「占一個字的位置,居正中」;破折號、刪節號「占行中二格」。大陸的 GB/T 15834-2011《標點符號用法》是推薦性國家標準,把句號、逗號等「占一個字位置,居左下」(5.1.1),間隔號占半個字位置(5.1.7)。

兩者都只管中文部分:手冊說「引用西文時,依照西文標點符號用法」,GB/T 15834 適用於「漢語和外語混合排版時的漢語部分」(第 1 章)。

本工具怎麼轉換

半形 → 全形:, . ! ? : ; ( ) 只在前後是中文時才轉換,所以 3.14、1,000、10:30、網址和電子郵件都不會變;" 和 ' 成對轉換,前一個變成開引號、後一個變成閉引號,McDonald's 這類撇號不動;... 變成 ……;中文之間的 -- 變成 ——;空格從不變成全形空格 U+3000。全形 → 半形:間隔號 · 保留,‧ 和夾在漢字之間的 .(馬克.吐溫)轉換成 ·;「」變成 "",『』變成 '',巢狀層次不會遺失。

用的是哪一套對應關係

數字、字母、U+FF01–FF5E 的 32 個全形符號和 U+3000,依照 Unicode 本身的相容對應(<wide>,也就是 NFKC 正規化所用的對應)轉換。。、“ ” ‘ ’「 」『 』《 》〈 〉【 】〔 〕—— 在 Unicode 裡沒有 ASCII 對應字元,所以它們的去向是本工具的選擇:。→ .;、→ ,;“ ”「 」→ ";‘ ’『 』→ ';《 》〈 〉→ < >;【 】〔 〕→ [ ];——、── 與 ⸺ → --;⸻ → ---;‖ → |;︰→ :;‧ → ·。所有處理都在瀏覽器裡完成,文字不會傳送到伺服器。

Advertisement
After how-to · AD-W2 Responsive

寬度類別、字格位置,和讓程式出錯的那個逗號

01

中文逗號「,」是 U+FF0C,英文逗號「,」是 U+002C。Unicode 把這兩個字元配成一對全形/半形(<wide> 對應),所以能互相轉換;但它們是兩個碼位,搜尋「,」找不到「,」。

02

大陸用的引號 “ ” 沒有單獨的全形字元。它們和英文引號是同一組字元,Unicode 寬度屬性是「不定」(ambiguous),寬窄由字型決定(Unicode 16.0 起可以在後面加變體選擇符 U+FE01 要求全形顯示);臺灣用的「 」則天生是寬字元。

03

GB/T 15834-2011 規定的是位置:句號、逗號、頓號、分號、冒號「占一個字位置,居左下」(5.1.1)。教育部《重訂標點符號手冊》修訂版(2008)把同樣的標點「居正中」。兩者都沒有「必須用全形」的條文。

04

全形空格 U+3000 是一個字元,占一個漢字的寬度。W3C《中文排版需求》(clreq)6.3.3 說漢字與西文之間最多留 1/4 字寬,或用一般空格 U+0020;所以本工具半形 → 全形時從不把空格變成 U+3000。

05

程式碼裡必須用半形。在 Python 3.9 裡,print("Hello") 報錯 SyntaxError: invalid character '(' (U+FF08);print("Hello") 報錯 invalid character '"' (U+FF02)。一個全形括號就讓整行無法執行。

06

user@example.com 不是 [email protected]:全形字母、@ 和 . 都是別的碼位。全形 → 半形並同時勾選「標點符號」和「數字和字母」可以把它還原;半形 → 全形則不會碰網址和電子郵件。

07

間隔號不是句號。教育部手冊的間隔號寫作「.」,占一個字的位置,例如「馬克.吐溫」;GB/T 15834 的間隔號是「·」,占半個字位置(5.1.7)。所以全形 → 半形時,馬克.吐溫會變成「馬克·吐溫」,而不是「馬克.吐溫」。

08

刪節號是六個點:教育部手冊的刪節號「……」「占行中二格」,GB/T 15834-2011 的前言也說省略號的形式統一為六連點「……」(4.11.2)。三個英文句點 ... 不是中文刪節號,本工具會把中文裡的 ... 轉成 ……。

09

引號的巢狀順序兩岸相反。教育部手冊「通常先用單引號,如果有需要,單引號內再用雙引號」:「…『…』…」。GB/T 15834 則「外面一層用雙引號,裡面一層用單引號」(4.8.3.4):“…‘…’…”。

10

香港兩份政府文件用的引號不一樣:教育局《小學中國語文建議學習重點(試用)》(2009)用「」;公務員事務局《政府公文寫作手冊(第三版)總論》(2019)用 “ ”,並請讀者參考 GB/T 15834《標點符號用法》。

常見問題

  • 不會。所有轉換都在瀏覽器裡完成,文字不會上傳。

  • 中文句子用中文標點,英文部分用英文標點。教育部手冊說「引用西文時,依照西文標點符號用法」;GB/T 15834-2011 只適用於「漢語和外語混合排版時的漢語部分」。程式碼、網址、電子郵件和 ISBN 不是中文句子,保持半形。

  • 因為它們不是中文標點。本工具只在前後是中文時才轉換 , . : 等符號:兩個數字之間的點(3.14)、千分位逗號(1,000)、時間裡的冒號(10:30)、網址和電子郵件都原樣保留;句末的點照樣變成「。」,例如「約為3.14.」→「約為3.14。」。

  • 它們是不同的 Unicode 字元。全形空格 U+3000 占一個漢字的寬度;一般空格 U+0020 的寬度由字型決定。W3C clreq 建議漢字和西文之間用一般空格或不超過 1/4 字寬的間距,所以半形 → 全形不會把空格變成 U+3000,全形 → 半形會把 U+3000 變成 U+0020。

  • 換個方向再轉一次(全形 → 半形 → 全形)。在「引號」選「 」『 』時,臺灣格式的引號能轉回原樣;但半形裡沒有的區別找不回來:頓號「、」變成「,」後回來是「,」,〈〉回來是《》,【】〔〕變成 [ ] 後保持 [ ],間隔號「.」回來是「·」,破折號「──」回來是「——」。

  • 它只轉換 0-9、A-Z、a-z 和對應的全形字母數字(0-9、A-Z、a-z),每個方向 62 個字元,不碰標點。標點由「標點符號」核取方塊單獨控制。

  • Unicode 有 U+FF64「、」(HALFWIDTH IDEOGRAPHIC COMMA),但沒有 ASCII 對應字元。本工具把「、」轉成最接近的 ASCII「,」;《》和〈〉同樣沒有 ASCII 對應,轉成「< >」。

  • 本工具只處理純文字:把文字貼進來,再把結果複製回去。

  • 沒有伺服器 API,轉換完全在前端進行。全部規則寫在公開的 /tools/_kernel/zh-punct-kernel.js 裡,可以直接查看。

Advertisement
Pre-footer · AD-W3 728 × 90