ROT13 と ROT47
変換された文字列をもう一度変換すると、元の文字列に戻るか試してみる。
str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
# ROT13
p str.tr("A-Za-z", "N-ZA-Mn-za-m")
p str.tr("A-Za-z", "N-ZA-Mn-za-m").tr("A-Za-z", "N-ZA-Mn-za-m")
p str.tr("\x41-\x5a\x61-\x7a", "\x4e-\x5a\x41-\x4d\x6e-\x7a\x61-\x6d")
p str.tr("\x41-\x5a\x61-\x7a", "\x4e-\x5a\x41-\x4d\x6e-\x7a\x61-\x6d").tr("\x41-\x5a\x61-\x7a", "\x4e-\x5a\x41-\x4d\x6e-\x7a\x61-\x6d")
# ROT47
p str.tr("\x21-\x7e", "\x50-\x7e\x21-\x4f")
p str.tr("\x21-\x7e", "\x50-\x7e\x21-\x4f").tr("\x21-\x7e", "\x50-\x7e\x21-\x4f")
# ROT13
p str.tr("A-Za-z", "N-ZA-Mn-za-m")
p str.tr("A-Za-z", "N-ZA-Mn-za-m").tr("A-Za-z", "N-ZA-Mn-za-m")
p str.tr("\x41-\x5a\x61-\x7a", "\x4e-\x5a\x41-\x4d\x6e-\x7a\x61-\x6d")
p str.tr("\x41-\x5a\x61-\x7a", "\x4e-\x5a\x41-\x4d\x6e-\x7a\x61-\x6d").tr("\x41-\x5a\x61-\x7a", "\x4e-\x5a\x41-\x4d\x6e-\x7a\x61-\x6d")
# ROT47
p str.tr("\x21-\x7e", "\x50-\x7e\x21-\x4f")
p str.tr("\x21-\x7e", "\x50-\x7e\x21-\x4f").tr("\x21-\x7e", "\x50-\x7e\x21-\x4f")
出力結果
"NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
"NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
"pqrstuvwxyz{|}~!\"\#$%&'()*+23456789:;<=>?@ABCDEFGHIJK_`abcdefgh"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
"NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
"pqrstuvwxyz{|}~!\"\#$%&'()*+23456789:;<=>?@ABCDEFGHIJK_`abcdefgh"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。