ROT47
znak | rot47 | znak | rot47 |
---|---|---|---|
! | P | " | Q |
# | R | $ | S |
% | T | & | U |
' | V | ( | W |
) | X | * | Y |
+ | Z | , | [ |
- | \ | . | ] |
/ | ^ | 0 | _ |
1 | ` | 2 | a |
3 | b | 4 | c |
5 | d | 6 | e |
7 | f | 8 | g |
9 | h | : | i |
; | j | < | k |
= | l | > | m |
? | n | @ | o |
A | p | B | q |
C | r | D | s |
E | t | F | u |
G | v | H | w |
I | x | J | y |
K | z | L | { |
M | | | N | } |
O | ~ | P | ! |
Q | " | R | # |
S | $ | T | % |
U | & | V | ' |
W | ( | X | ) |
Y | * | Z | + |
[ | , | \ | - |
] | . | ^ | / |
_ | 0 | ` | 1 |
a | 2 | b | 3 |
c | 4 | d | 5 |
e | 6 | f | 7 |
g | 8 | h | 9 |
i | : | j | ; |
k | < | l | = |
m | > | n | ? |
o | @ | p | A |
q | B | r | C |
s | D | t | E |
u | F | v | G |
w | H | x | I |
y | J | z | K |
{ | L | | | M |
} | N | ~ | O |
ROT47 – kodowanie 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
edytujKod 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
edytujPrzykładowy tekst:
- To zdanie jest zakodowane.
po zakodowaniu ROT47 wygląda następująco:
- %@ K52?:6 ;6DE K2<@5@H2?6]