ROT13: Różnice pomiędzy wersjami

Dodane 90 bajtów ,  1 rok temu
m
Zamieniam przestarzały tag 'source' na 'syntaxhighlight'
Znacznik: edytor kodu źródłowego 2017
m (Zamieniam przestarzały tag 'source' na 'syntaxhighlight')
Kodowanie rot13 jest trywialne w implementacji, np. za pomocą [[Perl]]a:
 
<sourcesyntaxhighlight lang="perl">
perl -pe 'tr/a-zA-Z/n-za-mN-ZA-M/'
</syntaxhighlight>
</source>
 
lub w systemach [[Unix|uniksowych]] poleceniem <tt>tr</tt>:
 
<sourcesyntaxhighlight lang="bash">
tr A-Za-z N-ZA-Mn-za-m
</syntaxhighlight>
</source>
 
W [[PHP]] została stworzona do tego celu funkcja str_rot13:
 
<sourcesyntaxhighlight lang="php">
<?php
echo str_rot13('Tekst do zakodowania');
?>
</syntaxhighlight>
</source>
 
Zaimplementowanie natomiast tego w [[C++]] w postaci programu "jednolinijkowego" wygląda tak:
 
<sourcesyntaxhighlight lang="cpp">
while(a=~getchar())putchar(~a-1/(~(a|32)/13*2-11)*13);
// Zmienna a musi być uprzednio zdefiniowana
</syntaxhighlight>
</source>
 
rot13 w postaci funkcji w C:
<sourcesyntaxhighlight lang="c">
void rot13(char *a) {
for (; *a; *a = (*a - 1 / (~(~(*a) | 32) / 13 * 2 - 11) * 13), a++);
}
</syntaxhighlight>
</source>
 
== Przykład ==
1 171 686

edycji