全角半角转换
文本所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
输入法在全角模式下打出来的字母数字(`ABC123`)在程序里往往对不上 —— 账号、金额、验证码、命令行参数都只认半角。这个工具按方向整体转换:全角字母、数字、符号归一半角,或者反过来。中文标点与英文标点的边界是按 Unicode 码位划的,不是按「看起来像不像中文」划的,这一点决定了哪些字符会变、哪些不会,是使用这个工具最容易困惑的地方,下面单独有一条讲。另外,`。`、`、`、`「」` 与日文的半角形式共用码位,所以片假名转换默认关着。
功能
- 全角字母、数字、符号归一半角,或反过来转成全角
- 覆盖全角 ASCII(U+FF01–U+FF5E)与表意空格 U+3000
- 覆盖全角货币符号:¥ £ ¢ ₩ 等七个(它们不在全角 ASCII 那一段里,最容易被漏掉)
- 可选同时转换半角 / 全角片假名,`ハ` + `゙` 会合并成一个 `バ`
- 中文标点 `。` `、` `「」` `《》` 原样保留 —— 它们没有半角形式
- 汉字、emoji 与其他非 ASCII 字符原样保留
- 两个方向互为逆运算,转过去再转回来能回到原样
- 结果实时更新,可整块复制
- 全部在浏览器本地完成,文本不外传
使用方法
- 选方向:全角转半角,或半角转全角
- 把文本粘进输入框
- 日文文本需要动片假名时,勾上那一个选项
- 复制结果
常见问题
- 为什么我的中文逗号被换成了英文逗号,句号却没有?
- 因为边界是按 Unicode 码位划的,不是按「像不像中文」划的。`,`(U+FF0C)、`:`(U+FF1A)、`?`(U+FF1F) 就在全角 ASCII 那一段里(U+FF01–U+FF5E)—— 它们确实是 `,` `:` `?` 的全角形式,所以会被转换。而 `。`(U+3002)、`、`(U+3001)、`「」`(U+300C/300D)、`《》`(U+300A/300B) 在另一段,是独立的中文标点,没有半角形式,所以原样保留。这不是可勾选的附加项:它就是「全角转半角」的定义。需要只改字母数字、把标点留着的话,这个工具做不到。
- 「同时转换片假名」那一项为什么要单独勾,还默认关着?
- 因为 `。`(U+3002)、`、`(U+3001)、`「」`、`・` 与日文的半角形式 `。` `、` `「」` `・` 共用码位。一旦打开,中文文本里的句号会变成半角的小圈、顿号变成小小的顿点 —— 对中文用户来说那是纯粹的破坏,而且看着像工具坏了。所以默认关着:中文文本保持关闭,日文文本再打开。打开后 `ハ`+`゙` 这类会正确合并成一个 `バ`,小写假名与长音符也各有对应。
- 全角空格是什么?
- 就是 U+3000「表意空格」,宽度等于一个汉字,中文排版里用它来对齐。英文的空格是 U+0020,宽度只有它的一半。转成半角时 U+3000 变成普通空格,转成全角时普通空格变成 U+3000 —— 这就是为什么半角转全角之后,文本看起来「变宽了」。
- 为什么 ¥ 也被转换了?
- 因为 `¥`(U+FFE5) 是 `¥`(U+00A5) 的全角形式。它不和 `$`(U+FF04) 在同一段里 —— 后者能靠「码位减 0xFEE0」平移成 `$`,而 `¥` 的半角形式在拉丁扩展区,只能单独列出来。这类符号一共七个(`¥ £ ¢ ₩ ¬  ̄ ¦`),漏掉它们的表现是「金额里的 ¥ 没转、旁边的 $ 转了」,看着像时灵时不灵。
- 文本会被上传吗?
- 不会。转换全在浏览器内存里完成,页面不发送任何请求,断网也能用。
相关工具
文本清洗
文本清洗从日志或表格里复制出来的一列内容:去重行、排序、去空行、去首尾空白、去行号、合并多空格,规则逐条开关。粘贴的内容只在本机处理。
简繁转换
文本在简体与繁体之间互转中文,常用词整词替换,其余字取最常见写法,因此个别字词仍需人工核对。全部在浏览器本地完成,不上传。
命名风格转换
文本在十四种命名风格之间转换标识符,拆词时认得 fooBarBaz 与 FOO_BAR 这类混写,连续大写也会按词拆开。全部在浏览器本地完成,不上传。
中文排版
文本在中文与英文、数字之间自动加空格,把中文语境里的半角标点换成全角,并整理省略号。URL、邮箱与行内代码原样保留。
文本对比
文本把两份文本逐行对比,高亮标出新增、删除与未改动的行,改动按最小差异对齐,而不是整段标成变了。全部在浏览器本地完成,内容不上传。
字数统计
文本中英混排的文本到底有多长?中文按字、英文按词分开统计,给出字符数、行数、字节数、阅读与朗读时长,以及会被切成几条短信。全部在本机完成。