首页 › 开发工具 › 全角半角与大小写转换

全角半角与大小写转换

一键完成全角字符与半角字符互转(依据 U+FF01—U+FF5E 与 U+3000 的码位映射)、英文转大写或小写、清理多余空格与空行,输出转换前后差异的逐字符对照,适合处理输入法误切换造成的全角数字与字母。

转换方向

数据来源:Unicode 兼容半角形与全角形区段映射(U+FF01—U+FF5E ↔ U+0021—U+007E,U+3000 ↔ U+0020)

输入字符数46个
输出字符数46个
发生变化字符数22个
输入中的全角字符22个
输入中的半角字符13个
清除的空白字符0个
变化占比47.8%

逐字符对照(最多列出前 200 处变化)

位置原字符原码点转换后新码点
4:U+FF1A:U+003A
5AU+FF21AU+0041
6BU+FF22BU+0042
7CU+FF23CU+0043
81U+FF111U+0031
92U+FF122U+0032
103U+FF133U+0033
114U+FF144U+0034
125U+FF155U+0035
136U+FF166U+0036
14 U+3000 U+0020
17:U+FF1A:U+003A
181U+FF111U+0031
19,U+FF0C,U+002C
200U+FF100U+0030
210U+FF100U+0030
220U+FF100U+0030
23.U+FF0E.U+002E
240U+FF100U+0030
250U+FF100U+0030
41(U+FF08(U+0028
46)U+FF09)U+0029
订单号:ABC123456 金额:1,000.00 元
Status: OK  (三行示例)

全角转半角的规则是码位减 0xFEE0(U+FF01—U+FF5E 对应 U+0021—U+007E),全角空格 U+3000 转成普通空格;中文汉字与中文标点(,。!?)没有半角对应形式,保持不变。

本页所有计算在浏览器内完成,输入内容不会被上传。

计算口径

全角与半角在 Unicode 中是两组独立码位:半角 ASCII 可见字符为 U+0021—U+007E,全角形为 U+FF01—U+FF5E,两者相差 0xFEE0;全角空格 U+3000 与半角空格 U+0020 单独映射。汉字本身没有全半角之分(每个占一个全角宽度),中文标点也不在该映射内,因此不会被转换。大写与小写转换在 ASCII 上偏移 32,同时兼顾全角字母区段 U+FF21—U+FF5A。

使用说明

  • 单号、金额里混入全角数字导致校验失败时选"全角 → 半角"再入库
  • 需要对齐的表格文本(如与中文等宽)选"半角 → 全角"
  • 从 PDF 复制出来的文本常有断行与多余空格,用"清除多余空白"整理

常见问题

全角数字和半角数字有什么实际区别?

显示宽度不同(全角占两个半角位),码位也不同,所以字符串比较、正则 d、金额校验都会失败。数据库唯一索引里 123 与 123 会被当成两个不同值,是常见的重复数据来源。

为什么中文逗号没被转成英文逗号?

U+FF0C(,)不在 ASCII 的对应区间,Unicode 没有为它定义半角形式。本工具遵循标准映射不做近似替换,避免把正文标点改错。

清除多余空白会删掉换行吗?

不会删除有效换行,只把连续多个空行压成一个空行、去掉行首行尾空白与行内重复空格,末尾空行会被去掉。段落结构保留。