HandyTools Hub

Leet Speak 转换器

将文本与 1337 speak 互相转换

100% 客户端处理

Leet speak(常写作 1337,源自 elite 一词)用形近的数字和符号替换字母。本页提供三种强度级别,既能把普通文本编码成 Leet,也能把 Leet 解码回可读文本。工具支持双向转换,而级别选择器只在编码时生效。

这个转换器是做什么的

这种风格诞生于 1980 年代的电子公告板(BBS)时代。当时一些”精英”版块的用户把字母换成形近字符,其中一部分动机很实际:改写过的拼写能绕过只查完整单词的关键词过滤和全文搜索,而统一的写法也成了圈子身份的暗号。这个习惯随后经由黑客、demo 场景和游戏圈扩散,留下了 n00b、pwn、w00t 等如今耳熟能详的网络词。Leet 从来没有唯一的官方字母表,这也解释了为什么两个人编码同一句话会得到不同结果,以及本页为何提供三个级别而不是单一映射。

三种编码级别

每个级别都是上一级的超集,级别越高替换的字母越多、输出越密集。

级别替换的字母示例
基础A、E、I、O、S、TA→4,E→3,I→1,O→0,S→5,T→7
中级增加 B、G、L、ZB→8,G→9,L→1,Z→2
高级增加 C、D、H、K、M、N、P、R、U、V、W、XH→|-|,M→|\/|,P→|>,W→\/\/

原文的大写字母会返回替换符的大写形式,但多数 Leet 符号本身没有大小写,因此只有替换符本身是字母时才能看出大小写差异。已经是数字或符号的字符则原样通过。

实操示例

以单词 hello 为例。基础级别得到 h3ll0(H 不在基础映射里所以保留,E 变成 3,O 变成 0)。中级级别得到 h3110,因为 L 现在映射到 1。高级级别得到 |-|3110,因为 H 被替换成四个字符的符号。

再看 elite。基础级别得到 3l1t3,因为只替换了 E、I、T。高级级别得到 31173,每个字母都被替换。注意输出更短,却更难读回去。

解码是另一套操作。输入 1337 会解码成 leet,因为反向表把 1 读作 L、3 读作 E、7 读作 T。输入 h3ll0 则能干净地解回 hello。

转换器除了替换本身不会增删字符,所以输出长度取决于级别。基础和中级映射是一对一字符,字距和词数保持不变。高级写法每个字母占两个或更多字符,单个 M 在 |/| 里就占五个字符,重度编码的句子宽度大约会翻倍。如果你要把文字塞进定宽显示,优先用基础或中级,并在转换后核对字符数。

为什么解码存在歧义

解码器并不是编码器的精确逆运算。它只从高级映射表构建一张反向表,并优先匹配最长的符号,因此只能猜测原字母。当一个符号被多个字母共用时,表中只会留下一个。由于建表时 L 写在 I 之后,1 永远解回 L;又因为数字没有大小写信息,3 一律解成小写 e,哪怕原文是大写。

这就是往返转换无法保证一致的原因。在中级下把 ill 编码得到 111,解码却返回 lll 而非 ill。编码适合做样式或轻度混淆,解码则是对他人文本的一种尽力而为的读取。

如何用好这个转换器

编码最适合展示用途:用户名、战队标签、谜题线索,或者给消息添点复古味道。解码适合阅读并非出自你手的内容,但要记住它的局限。调整级别直到输出符合预期——低级别保持可读性,高级别用可读性换取密度。如果你打算把结果粘贴进可能原样处理符号的表单,先确认反斜杠、竖线和方括号等特殊字符能否顺利通过,有些系统会转义或拒绝它们。反转他人文本时,做好手动修正大小写的准备,并记住那些临时自造的符号会原样穿过。

常见错误

  • 以为这是可逆密码。Leet 是有损替换,只用于风格,不要用它保护信息。
  • 在”从 Leet”模式下仍纠结级别。该模式下级别控件被忽略,没有可调项。
  • 假设所有 Leet 方言都被覆盖。真实帖子会用到高级映射未列出的临时符号,这些字符会原样保留。
  • 忘记解码结果不分大小写。请提前安排手动修正首字母。
  • 一眼把 l 和 1 当成同一个字符。把编码文本复制进表单时,放大字号再核对一遍。

相关工具

常见问题

文字转成 Leet 后再转回来,能还原成原文吗?

不能可靠还原。好几个字母的编码是单向的:ill 会变成 111,解码却得到 lll;而 i 和 l 都映射到 1。请把两个方向当作独立工具,而不是可逆密码。

为什么我的大写字母解码后变成了小写?

只有当匹配到的符号整体都是大写时,解码才会还原成大写。像 3 这样的数字没有大小写之分,无从判断它原本代表 E 还是 e,因此解码器一律返回小写字母。

基础、中级、高级三个级别有什么区别?

基础级别把六个字母(A、E、I、O、S、T)替换为形近数字;中级增加 B、G、L、Z;高级再加入多字符写法,如 H→|-|、M→|\/|、P→|>,输出更密集。

为什么解码时 1 得到的是 L 而不是 I?

解码器用高级映射表构建反向表,其中 I 和 L 都映射到 1,后写入的表项覆盖了前者,于是 1 总是解成 L。任何被多个字母共用的符号都会出现这类冲突。

用 Leet 写法藏密码安全吗?

不安全。a 换 4、e 换 3、o 换 0 这类替换早已被所有破解字典收录,p@ssw0rd 被猜出的速度几乎和不加替换一样快。请改用密码生成器和密码管理器。

转换器会改动空格、标点或带重音的字符吗?

它只替换当前级别映射表里列出的字母。空格、数字、标点、emoji 和带重音的字母原样保留;解码时无法匹配的内容同样保持不动。

由 HandyTools Hub 团队审校 · 最后更新