编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 文本处理 / 全角半角转换

全角半角转换

全角半角一键互转

输入
结果

这个工具能做什么

全角半角转换用来在同一个字符的"全角"和"半角"两种写法之间来回切换。全角字符在中文输入法下很容易被误打出来,比如把逗号打成","、数字打成"123"、括号打成"()",它们在屏幕上占一个汉字的宽度,和半角形式肉眼很难区分。这类字符一旦混进代码、配置文件、数据库字段或接口参数里,往往会引发编译报错、正则匹配失败或格式校验不通过,定位起来还特别费劲。这个工具把粘贴进来的文本按指定方向批量转换,帮你快速清洗掉不该出现的全角字符,或者反过来生成全角文本。

它的核心是一套固定的 Unicode 码位映射规则。ASCII 里的可见标点、字母和数字位于 U+0021 到 U+007E,对应的全角形式集中在 U+FF01 到 U+FF5E 这段"半角及全角形式"(Halfwidth and Fullwidth Forms)区块,两者的码位刚好相差 0xFEE0 这个固定偏移量。所以半角转全角就是把落在 ASCII 可见区间的字符码位加上 0xFEE0,全角转半角则减去同样的值。空格是个特例,半角空格是 U+0020,全角空格是 U+3000,不在那段等距偏移里,需要单独处理。工具只改动命中这套规则的字符,汉字、emoji 以及其他非映射字符都原样保留。

最常见的用途是清洗从 Word、PDF、聊天记录或表格里复制来的文本。举个例子,运营同学把一段带全角冒号和括号的内容发给你,直接粘进 JSON 会解析失败,用全角转半角跑一遍就能规整成合法的 ASCII 标点。再比如你排查一个正则或 SQL 的 LIKE 匹配总是命中不到,很可能是数据里混了全角数字或全角逗号,先把待比对文本统一转成半角再对照,问题往往一目了然。反方向也有场景,做中文排版或表单展示时希望数字和字母也用全角以求视觉对齐,就用半角转全角批量生成。所有转换都在你的浏览器本地完成,粘贴的文本不会上传到任何服务器。

需要注意的是,全半角转换只做码位替换,不涉及编码格式的变化,转换前后都还是 Unicode 文本,用 UTF-8 保存不会有区别,别把它和 GBK、UTF-8 之类的字符集转码混为一谈。另外它只覆盖 ASCII 可见字符及空格这一段等距映射,像中文书名号、破折号、省略号这类没有半角对应的标点不会被动它,日文半角片假名也不在处理范围内。转换是逐字符、无状态的,可以放心多次来回转换而不累积误差;只是要留意,如果原文里本就有意保留的全角字符,批量转换会一并改掉,建议转完先核对一眼再使用。

全角半角转换是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“全角转半角”、“半角转全角”、“全半角转换”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

全角和半角到底有什么区别?
半角是标准 ASCII 字符,占一个字符宽度;全角是同一字符的宽体形式,在等宽显示下约占两个半角的宽度,码位落在 U+FF01 到 U+FF5E 区块。二者字形相近但码位不同,程序按码位比较时会把它们当成完全不同的字符。
这个工具支持哪些字符的转换?
覆盖 ASCII 可见字符对应的全角形式,也就是字母 A-Z a-z、数字 0-9、常见标点(如,。!?():;)以及全角空格 U+3000。汉字、emoji 和没有半角对应的中文标点不会被改动。
转换会改变文本的编码吗?会不会导致乱码?
不会。它只替换字符的 Unicode 码位,文本始终是 Unicode,用 UTF-8 存储不受影响,也不涉及 GBK 与 UTF-8 之间的转码。只要编辑器按正确编码打开就不会出现乱码。
为什么全角冒号、逗号转成半角后代码就能跑了?
因为编程语言以及 JSON、SQL 等只认半角 ASCII 标点,全角的",:()"虽然长得像,码位却不同,会被当成非法字符或普通文本导致解析失败。转成半角后标点回到 ASCII 区间,语法才合法。
我的数据会被上传吗?处理敏感内容安全吗?
不上传。转换全部在你的浏览器里用 JavaScript 完成,文本不会发送到任何服务器,因此处理配置、日志或内部数据这类敏感内容也是安全的。

相关工具

查看全部「文本处理」工具 →