Кодировка rot13 в Пайтоне
В стандартном интерпретаторе Пайтона есть много такого, что иначе как «пасхальным яйцом» не назовёшь. Например, можно попробовать импортировать модули «__hello__», «this» или сделать «from __future__ import braces» (попробуйте), но следующее просто гениально, хотя, видимо, получилось случайно.
В файле программы на Пайтоне в специальном коментарии принято указывать кодировку файла. В случае с латиницей работает и без этого, если применяется
Вот вполне валидная программа, которая выполняется и делает нечто осмысленное:
# coding: rot13
vzcbeg __uryyb__
cevag "Zl anzr vf Ritral Fgrcnavfpuri nxn Obyx!".rapbqr("rot13")Кодируется только текст программы,
Комментарии 8
Вот JavaScript: /all/2534
Вот Perl: /all/1628
Вот Си, например: http://en.wikipedia.org/wiki/International … de_Contest
Ещё неясно что круче.
Я ничего не сравниваю. Это скорее к «но следующее просто гениально, хотя, видимо, получилось случайно.» комментарий. Вряд ли уж случайно совсем.
Хотя любопытно можно ли в питоне самому добавлять кодировщики/раскодировщики на самом же питоне писанные.
Комментарий для Юджин:
Скорее всего — совсем случайно. encode/decode — это методы, которые занимаются переводом из/в разные кодировки в Пайтоне. Логично, что там есть rot13, base64, zlib, помимоutf-8, cp1251 и так далее.
Этими же самыми методами рекодируется исходник программы, поскольку rot13 есть в списке поддерживаемых кодировок, то и исходник можно писать в этой кодировке.
Именно поэтому это и гениально. Что вот так здорово всё совпало.