ROT13

ROT13

[1] C:

 rotate13(c)
 char c;
 {
 if ((c >='a')&&(c <='m')) return (c+13);
 if ((c >='n')&&(c <='z')) return (c-13);
 if ((c >='A')&&(c <='M')) return (c+13);
 if ((c >='N')&&(c <='Z')) return (c-13);
 return c;
 }

[2] Perl:

 $c =~ tr/A-Za-z/N-ZA-Mn-za-m/;

実装

[3] 電子メイルのソフトウェアで実装してるのが、特に洋物で結構あるみたい。 Un*x では /usr/lib/news/caesar で解読出来たりするらし。

[4] MIME みたいな媒体型文脈ではどー書くのか例を見ないけど、 (そもそも簡易暗号化の目的からすると、機械処理ではなく手動で解読だよねー。でも指定があれば半自動に出来るか。)

ROT13/47 の説明にならって、

Content-Type: text/plain; x-rot="13"

てことでどう?

[5] 冗長だけど、

Content-Type: text/plain; x-rot="rot13"

にしようか。 (See x-rotパラメーター)

See also