跳到主内容
UniKit

全角半角转换

全角与半角互转:全角字母数字与标点、全角空格、日文片假名(カ ↔ カ、ガ ↔ ガ),可单独关掉空格与标点的转换。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

结果

这个工具能做什么

  • 把从 PDF、Excel 或旧系统里复制出来的全角英文数字统一成半角,省得再逐字改:Hello,世界! 123 → Hello,世界! 123。
  • 把半角文本排成中日文全角版式:英文标点和数字转全角后与汉字宽度一致,段落看起来更整齐。
  • 处理日文片假名:カタカナ ↔ カタカナ,浊音假名(ガ、パ)会按 Unicode 规范拆成基字加浊点再映射。
  • 只做部分转换:不想动空格或标点时,把对应开关关掉,字符原样保留。

示例

输入

Hello,世界! カタカナ 123

输出

Hello,世界! カタカナ 123

全角 ASCII、全角空格(U+3000)与日文片假名都会转换;ヵ ヶ ヮ ヰ ヱ ヽ ヾ 没有半角写法,会原样保留。

常见问题

全角半角转换是怎么实现的?

全角 ASCII 区 U+FF01–U+FF5E 与半角 U+0021–U+007E 相差固定偏移 0xFEE0,直接加减即可;全角空格 U+3000 对应半角空格;片假名和标点则按 Unicode 兼容性映射表逐个对应。

为什么「,」变成了英文逗号「,」而不是「、」?

因为这里是宽度转换,不是标点风格转换。全角逗号 U+FF0C 属于全角 ASCII 区,减去偏移后就是半角逗号,工具不会把它换成语义更接近的顿号。想要中文标点风格请用专门的标点转换工具。

关掉「转换标点」会发生什么?

全角字母数字仍然会转,但标点会跳过:全角 ,。!? 保持全角,半角 ,.!? 也保持半角,日文的 。「」、・ ↔ 。「」、・ 同样不动。这样可以在只想去掉全角字母数字时避免误改标点。

片假名转换后为什么多了一个字符?

浊音假名(ガ、パ、ヴ)在 Unicode 里可以分解成「基字 + 浊点」,半角没有单字符写法,所以 ガ 会变成 ガ 两个字符。反向转换时工具会把 ガ 重新合成 ガ,长度看起来又会变回去。

转换会改变文本含义或上传内容吗?

不会改变含义,只是字符宽度映射,编码层面仍是合法的 UTF-8。整个转换在浏览器里用 JavaScript 完成,页面不发送任何请求,粘贴的文本不会上传。

关键词:全角半角fullwidthhalfwidth转换convert假名katakana日文标点

同类工具