兽音译器的编码原理

线上转化网址:兽音译者在线编码解码 - 兽音翻译咆哮体加密解密

如果你是单纯的使用使用的话,跳转上面链接即可,本文是在探讨该网址的编码原理,为了给那些迁移兽音编码功能,或者想要单纯了解下编码原理的人提供资料。

示例

明文:aaab

密文:~呜嗷嗷嗷嗷呜啊嗷呜嗷呜嗷呜呜~嗷啊嗷啊嗷啊呜嗷嗷~嗷~嗷~呜呜嗷嗷呜啊

原理

若编码字符使用0123的话

密文: 310000120101011302020210030303110012

使用0123,是很直观的看到其4进制的密文信息的。编码字符只是做了一个简单的字符替换而。在已知4进制密文时候,把“嗷呜啊~” 分别对应0,1,2,3进行替换。

这个4进制有些固定格式:

前面3位一定是310,最后一位一定是2。所以有效信息只有中间的一部分而已。

比如例子的310000120101011302020210030303110012

有效部分:00012010101130202021003030311001

将其转为16进制:01 84 45 c8 89 0c cd 41

所以密文的16进制:018445c8890ccd41

示例编码步骤

从aaab开始吧,输入的是utf8编码的,将其utf8编码转为unicode编码

其unicode的16进制编码为 00 61 00 61 00 61 00 62

每个16进制都需要进行偏移数值,偏移值=所在的位置,从0开始计算位置。偏移值超过f的话,从0开始,即模16。对应每一个16进制x的值,都满足x = (x+(x的所在位置))%16

示例的每个数字分别偏移: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

(0+0)% 16 = 0

(0+1)% 16 = 1

(6+2)% 16 = 8

(1+3)% 16 = 4

(0+4)% 16 = 4

(0+5)% 16 = 5

(6+6)% 16 = 12   转为16进制:c

(1+7)% 16 = 8

(0&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值