类别 | 半角 | 全角 | 码位关系 |
|---|
字母 | A B a b | A B a b | U+0041 加 0xFEE0 得 U+FF21 |
数字 | 0 1 9 | 0 1 9 | U+0030 加 0xFEE0 得 U+FF10 |
标点 | , . : ; ! ? | , . : ; ! ? | U+002C 加 0xFEE0 得 U+FF0C |
括号 | ( ) [ ] { } | ( ) [ ] { } | U+0028 加 0xFEE0 得 U+FF08 |
符号 | @ # $ % & * | @ # $ % & * | U+0040 加 0xFEE0 得 U+FF20 |
空格 | 半角空格 | 全角空格 | U+0020 与 U+3000 单独映射 |
功能说明
全角与半角是东亚文字排版中的概念。半角字符占一个标准字符宽度,就是我们熟悉的 ASCII 字符;全角字符占两个字符宽度,与汉字等宽,在 Unicode 中位于「半角及全角形式」区块。中文输入法在中文标点模式下常会输出全角字符,导致代码、配置文件、Excel 数据中混入肉眼难辨的全角符号,引发解析失败。本工具支持两个方向的批量转换,全部在浏览器本地完成。
转换规则
核心规则是一个固定偏移量 0xFEE0(十进制 65248)。半角可见 ASCII 字符位于 U+0021 到 U+007E,对应的全角形式位于 U+FF01 到 U+FF5E,两者一一对应,加上偏移即为全角,减去偏移即为半角。空格是唯一的例外:半角空格是 U+0020,全角空格是表意空格 U+3000,需要单独映射,因此本工具将其作为独立开关,默认不改动,避免误伤排版缩进。
转换范围说明
仅字母只处理 A 到 Z 与 a 到 z;仅数字只处理 0 到 9;仅标点处理其余可见符号,包括括号、引号、逗号、句号、冒号、斜杠、加减号等;全部则一次处理以上三类。实际工作中最常用的是「仅标点」,因为字母数字的全角形式相对少见,而全角标点是数据清洗的主要噪声来源。
注意事项
需要特别说明的是,中文特有的标点如顿号「、」、书名号「《》」、省略号「……」、破折号「——」以及中文引号「」在 ASCII 中没有对应的半角形式,它们不属于全角形式区块,本工具会原样保留而不会强行替换成英文标点。若你需要把中文标点整体替换为英文标点,那属于标点规范化而非全角半角转换,语义并不等价。另外日文半角片假名(U+FF61 至 U+FF9F)虽然也在同一 Unicode 区块,但不遵循 0xFEE0 偏移规律,本工具同样不作处理。
使用场景
清洗从 Word、Excel、PDF 复制来的数据;修复代码中因输入法误切导致的全角括号与引号;统一数据库入库前的文本格式;处理表单校验中因全角数字导致的匹配失败。
温馨提示
- 您的反馈将帮助我们改进产品体验
- 反馈内容会匿名保存,保护您的隐私
- 我们会认真阅读每一条反馈
暂无反馈记录
