ROT47

Tablica przekształceń
znakrot47znakrot47
 !P"Q
#R$S
 %T&U
'V(W
)X*Y
+Z,[
-\.]
/^0_
1`2a
3b4c
5d6e
7f8g
9h :i
 ;j<k
=l>m
 ?n@o
ApBq
CrDs
EtFu
GvHw
IxJy
KzL{
M|N}
O~P !
Q"R#
S$T %
U&V'
W(X)
Y*Z+
[,\-
].^/
_0`1
a2b3
c4d5
e6f7
g8h9
i :j ;
k<l=
m>n ?
o@pA
qBrC
sDtE
uFvG
wHxI
yJzK
{L|M
}N~O

ROT47kodowanie przesuwające, zamieniające każdy znak ASCII z przedziału 33-126 na znak znajdujący się 47 pozycji dalej, ale nie dalej niż do 126 pozycji. Podobnie jak ROT13 jest on samoodwracalny, tzn:

Implementacja

Kod przekształcenia rot47 napisany w Perlu:

perl -pe 'tr/\x21-\x7e/\x50-\x7e\x21-\x4f/'

Kod rot47 w PHP:

strtr($str, '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~', 
            'PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO');

oraz w systemach uniksowych:

tr '\!-~' 'P-~\!-O'

Przykład

Przykładowy tekst:

To zdanie jest zakodowane.

po zakodowaniu ROT47 wygląda następująco:

%@ K52?:6 ;6DE K2<@5@H2?6]