免费中文全角 ↔ 半角标点转换器。只在中文语境里转换标点,小数、网址、邮箱原样保留;可选数字和字母转换。

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),显示多宽由字体决定;「 」《 》。、属于宽字符,,:;!?( )属于全角字符。

标准规定的是位置,不是「全角」

大陆的 GB/T 15834-2011《标点符号用法》是推荐性国家标准,2012 年 6 月 1 日实施。它没有要求「使用全角标点」,而是规定每个标点在字位里的位置:句号、逗号、顿号、分号、冒号「占一个字位置,居左下」(5.1.1);问号、叹号占一个字位置,居左(5.1.2);破折号、省略号占两个字位置(5.1.4、5.1.5);间隔号占半个字位置,上下居中(5.1.7)。台湾教育部《重订标点符号手册》修订版(2008)则把句号、逗号等「占一个字的位置,居正中」。

两者都只管中文部分: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),占两个字位置(5.1.5)。三个英文句点 ... 不是中文省略号,本工具会把中文里的 ... 转成 ……。

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