ROT47 编码器和解码器

将所有可打印 ASCII 字符——字母、数字和符号——旋转 47 个位置。

"Hello123!""w6==@`ab0"(ROT47)
ROT47
位移 47
ASCII
包含数字和符号(ASCII 33-126)

ROT47 转换参考

完整字符映射(ASCII 33-126)

大写字母
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
p q r s t u v w x y z { | } ~ ! " # $ % & ' ( ) * +
小写字母
a b c d e f g h i j k l m n o p q r s t u v w x y z
2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K
数字
0 1 2 3 4 5 6 7 8 9
_ ` a b c d e f g h
符号
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
P Q R S T U V W X Y Z [ \ ] ^ i j k l m n o , - . / 0 1 L M N O

示例

HELLO9:\\;?
12345`abcd
Hello!9\\\\;;P
注意: 会转换所有可打印字符

ROT47 的工作原理

ROT47 作用于 94 个可打印 ASCII 字符,从 !(代码 33)到 ~(代码 126)。每个字符都会在这个范围内向前位移 47 个位置,超出末尾时回绕。因为 47 正好是 94 的一半,所以连续应用两次变换会回到原文。

ROT47 与 ROT13 的区别

ROT13 只位移 26 个英文字母,不会处理数字、空格和标点。ROT47 则覆盖完整的可打印 ASCII 字符集,因此能在一次操作中同时混淆字母、数字和符号。代价是 ROT47 的输出看起来更像随机噪声,可读性比 ROT13 更低。

ROT47 的常见用途

ROT47 常见于 CTF 挑战、开发者进行轻量级混淆的场景,以及需要隐藏可打印文本但又不想使用真正加密的示例中。它并不具备安全性,只适合做轻度混淆。

字符映射范围

ROT47 覆盖大写字母、小写字母、数字以及 ASCII 可打印范围内的标点符号。超出 ASCII 33-126 的字符,例如 Unicode 字符或 emoji,通常会保持不变。

关于 ROT47 的常见问题

ROT47 安全吗?

不安全。ROT47 不是安全加密,只是固定且公开的替换规则。一旦识别出这种编码方式,就可以立即反向还原。

ROT47 能处理 Unicode 字符吗?

标准 ROT47 只会转换 94 个可打印 ASCII 字符。Unicode 字母、emoji、带重音字符和控制字符通常都会保持不变。

如何解码 ROT47?

ROT47 是自逆的,所以解码与编码使用同一操作。再次应用 ROT47,就会恢复原始文本。