原理 / 可复核的规则

兽语翻译原理:四个字符,如何装下一段中文

不要求数学基础。我们拿「你好」走一遍完整流程,再把解码、字符组和边界逐项拆开。读完之后,你应该能拿一张纸,自己算出同样的结果。

更新于 2026-10-19 约 12 分钟 可对照工具验证

兽语看起来神秘,规则其实很朴素:把文字变成一串数字,再把这串数字换成四个字符。没有随机数,没有密钥,也没有服务器参与。只要输入相同、字符组相同,结果就完全相同。

先给结论:一个 UTF-16 编码单元会变成 8 个兽音字符,再加上固定的 4 个包装字符。所以一个常见汉字通常对应 12 个兽音字符;两个字就是 20 个。密文变长是规则使然,不是程序出错。

01. 第一步:把文字变成 UTF-16BE 十六进制

计算机里的文字都有编号。兽语使用 UTF-16 的编码单元,把每个单元写成 4 位十六进制。以「你」为例,它的码位是 U+4F60,写成小写就是 4f60。两个字「你好」就是 4f60 597d,中间的空格只是为了方便阅读,实际计算时会连在一起。

为什么是 4 位?因为一个 UTF-16 编码单元是 16 位二进制,正好对应 4 位十六进制。中文字、英文字母、数字、标点都按这个规则处理。Emoji 通常占两个编码单元(代理对),所以会变成 8 位十六进制,密文也会更长。

02. 第二步:给每一位加上位置偏移

接下来,从左到右给每个十六进制位编号,从 0 开始。第 i 位的数值 v 会被替换成 (v + i) mod 16。这里的 mod 16 是取余数,保证结果仍然落在 0–15 之间。

以「你」的 4f60 为例:

  • 第 0 位是 4,(4 + 0) mod 16 = 4,仍是 4;
  • 第 1 位是 f(即 15),(15 + 1) mod 16 = 0,变成 0;
  • 第 2 位是 6,(6 + 2) mod 16 = 8,变成 8;
  • 第 3 位是 0,(0 + 3) mod 16 = 3,变成 3。

所以 4f60 变成了 4083。「你好」的 4f60 597d 则变成 4083 9ed4。偏移的编号是整串连续的,不会在每个字之后归零;这一点很关键,它让相同字符在不同位置产生不同结果,也让插入或删除一个字符会影响后面的全部内容。

03. 第三步:十六进制变成四进制

一个十六进制位可以表示 0–15,共 16 种值。一个四进制位只能表示 0–3,共 4 种值。要把 16 种状态装进 4 个符号,就需要两位四进制:第一位表示「有几个 4」,第二位表示「余数」。

换算方法是:v = 4 × 高位 + 低位,也就是 高位 = floor(v / 4),低位 = v mod 4。例如:

  • 4 → 10(1×4 + 0)
  • 0 → 00
  • 8 → 20(2×4 + 0)
  • 3 → 03
  • f(15)→ 33(3×4 + 3)

于是 4083 变成 10002003,「你好」的 4083 9ed4 变成 10002003 21323110。到这里,所有数字都只剩 0、1、2、3 四种,已经可以交给四个字符了。

04. 第四步:加上包装,映射到四个字符

兽语会在数字串前面加上 310,后面加上 2。这三个前缀数字和一个后缀数字本身也都是 0–3,因此可以和正文一起映射。包装的作用是让解码器快速判断「这串东西像不像一段兽语」,同时给正文一个明确的起点和终点。它不是校验和,不能证明内容没有被修改。

最后,把四个字符按顺序当作 0、1、2、3。默认字符组是「嗷、呜、啊、~」,映射关系就是:

0 → 嗷
1 → 呜
2 → 啊
3 → ~

把「你好」的包装结果 31010002003213231102 逐位替换,就得到:

~呜嗷呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷啊

你可以打开在线兽语翻译器,输入「你好」核对一遍。结果应该完全一致。

05. 完整例子:从「你好」到 20 个字符

把上面的步骤合在一起,就是下面这张表。每一步都可以单独验证,任何一步不同,最终密文都会不同。

「你好」的兽语编码过程
步骤结果
原文你好
UTF-16BE4f60 597d
位置偏移4083 9ed4
四进制10002003 21323110
包装31010002003213231102
默认字符~呜嗷呜嗷嗷嗷啊嗷嗷~啊呜~啊~呜呜嗷啊

注意长度:两个汉字产生 16 个正文数字,加上 4 个包装数字,一共 20 个字符。一个汉字的密文通常是 12 个字符。这个比例可以帮助你预估聊天框里会不会被折叠。

06. 解码:把上面的步骤倒过来

解码不是「猜」,而是严格的反向计算。程序会做这几件事:

  1. 识别字符:从左到右匹配四个字符,把每个字符换回 0–3。空格、换行等不属于字符组的符号会被跳过,所以复制时混入换行通常不影响结果。
  2. 检查包装:确认数字串至少 4 位、以 310 开头、以 2 结尾。不满足就提示格式不合法。
  3. 去掉包装:取中间部分,确认长度是偶数。奇数说明有字符丢失或混入。
  4. 四进制转十六进制:每两位四进制合成一个 0–15 的十六进制位。
  5. 反向偏移:第 i 位计算 (v - i) mod 16,把偏移减回去。
  6. 还原文字:每 4 位十六进制组成一个 UTF-16 编码单元,再拼回字符串。

解码器不需要知道原文,也不需要字典。它只依赖字符组和上面这套固定顺序。这就是为什么只要规则一致,哪怕换一台设备、换一个浏览器,结果也能对上。

07. 自定义字符改变了什么,没改变什么

四个字符只是数字 0–3 的「外套」。把「嗷呜啊~」换成「喵呜咪~」,数字串本身完全不变,变的只是最后一步的映射。因此:

  • 改变了:密文的外观、开头和结尾的可见字符、输入时的按键习惯。
  • 没改变:编码长度、可逆性、抗分析能力,以及「知道规则就能解开」这件事。

自定义时要注意三件事。第一,四个字符必须互不相同;第二,顺序就是映射,不能随意调换;第三,避免一个字符是另一个字符的前缀,例如同时使用「喵」和「喵喵」,解码时的贪婪匹配可能提前截断。Emoji 和多码点组合字符也可以用,但不同设备的显示可能有差异。

08. 兼容性与能力边界

本站默认规则与常见的「兽音译者」保持一致:UTF-16BE 十六进制、全局位置偏移、四进制、310…2 包装、默认字符「嗷呜啊~」。在这个前提下,同一句话通常能得到相同结果。但兽语没有统一标准,其他工具可能改动包装、偏移或字符顺序,所以跨工具使用时,先拿一句短话对照。

还有几个实际限制:

  • 没有纠错:少一个字符就可能导致整串错位,无法自动恢复。
  • 没有分块:长文本是一整串,不适合边传边解。
  • 依赖字符完整:聊天软件如果替换了「~」或截断长消息,解码就会失败。
  • 不是加密:没有密钥、随机数和完整性校验,不能保护敏感信息。

09. 为什么它不是加密

加密的目标是:即使攻击者拿到密文、知道算法,没有密钥也读不出明文。兽语不满足这个条件。它的算法是公开的,字符组通常也会告诉对方;即使你把字符组当作秘密,它也只有很小的搜索空间,而且已知明文和频率分析都能帮助推断。

更准确地说,兽语是一种可逆编码,附带一点轻度混淆。它能让文字在视觉上不像原文,能挡住不经意的旁观,但不能挡住有动机的人。把它用在群聊玩笑、活动解谜、内容彩蛋里很合适;用在密码、证件号、合同和商业机密上,就是用错了工具。

如果你需要真正的保密,应该使用经过验证的加密工具和安全的密钥管理方式。那是一个完全不同的问题,不是换四个更复杂的字符就能解决的。

10. 接下来读什么

如果你想亲手验证这套流程,打开在线翻译器,展开「查看编码 / 解码过程」,输入「你好」对照上面的表。如果你想看更完整的概念区分,读兽语算加密吗;如果你准备把它用在群聊里,先看使用教程里的边界提醒。