piapia123
zh

去变音符号

文本

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

`Café` → `Cafe`、`naïve` → `naive`、`Tiếng Việt` → `Tieng Viet`。做法是 Unicode 的 NFD 分解:把 `é` 拆成 `e` + 组合尖音符,再删掉组合记号 —— 而不是维护一张「é→e」的表,那样一碰到叠了两层记号的越南语就会失效。 ⚠️ `Ø` `Đ` `Ł` 这类独立字母分解不出基字母,去变音符号对它们无效。工具不会默默放过:结果里会专门列出这几个字符,说明为什么它们没变。想把 `Ø` 转写成像 `O` 的字母是另一件事(转写),规则因语言而异,这里不做。 全部在浏览器里完成,不联网、不上传。

功能

  • 用 NFD 分解 + 删组合记号,覆盖英语、法语、德语、西班牙语、越南语等
  • 不只是英文:任何语言的组合记号都认
  • 三种模式:全部去掉 / 只去重音(保留 ñ ç)/ 只去声调记号
  • 列出「Ø Đ Ł」这类没变的独立字母,并说明原因
  • 给出改动了多少个字符
  • 按码点处理,emoji 与多字节字符不受影响
  • 与 slug 生成器共用同一份实现,行为不会分叉

使用方法

  1. 把带变音符号的文本粘进输入框
  2. 选择要去掉的记号范围
  3. 结果与改动字符数立刻出现
  4. 如有没变的独立字母,会单独提示

常见问题

为什么不用替换表?
手写的「é→e」表只覆盖作者想得到的字母,碰到越南语这种基字母上叠两层记号的写法就失效。NFD 是 Unicode 规范本身定义的分解,对任何语言都成立。
Ø Đ Ł 为什么没变?
它们是独立的字母,不是「基字母 + 记号」,Unicode 分解不出基字母,所以去变音符号对它们无效。要转写成 O、D、L 属于另一类操作(转写),规则各不相同,本工具不做。
「只去重音」和「只去声调」差在哪?
同一个码点在不同语言里角色不同:锐音符在法语里是重音、在越南语里是声调。工具把「只去重音」定义为保留ñ ç 这类字母记号、「只去声调」定义为只删越南语与拼音的标调符号,模式里都写清楚了。
数据会上传吗?
不会。全部在浏览器内存里计算,不发送任何请求,断网也能用。

相关工具