Чтобы декодировать rot13(s)
закодированную строку, скажем s
, просто возьмите rot13
строку еще раз, то есть вычислите string.maketrans
.
Если вы не знаете, как вычислить rot13
в python, попробуйте немного поработать, и вы обязательно найдете его. Я googled и нашел решение, которое работает очень хорошо: https://stackoverflow.com/a/3269756/3293087 [Обратите внимание, что он работает только на python2, а не на python3, поскольку был удален из python3.]# Python 2 solution import string rot13Table = string.maketrans( "ABCDEFGHIJKLMabcdefghijklmNOPQRSTUVWXYZnopqrstuvwxyz", "NOPQRSTUVWXYZnopqrstuvwxyzABCDEFGHIJKLMabcdefghijklm") rot13 = lambda s : string.translate(s, rot13Table) print rot13("Hello World!") # Outputs "Uryyb Jbeyq!"
Я напишу код здесь для полноты:
rot13
Примечание . Я не собираюсь писать расшифрованную строку, соответствующую тому, что первоначально было опубликовано OP, так как оно довольно оскорбительно и гомофобно. Любой, кто заинтересован, может сделать это сам.
Обновление : я также нашел решение, которое работает для python 2 и 3 как из этого SO-ответа . Оказывается, встроенный rot13
кодер в python в codecs
модуле:
# Python 2 & 3 compatible
import codecs
rot13 = lambda s : codecs.getencoder("rot-13")(s)[0]
# Answer
rot13("Gur dhvpx oebja sbk whzcrq bire gur ynml qbt")
Обновление 2 : Поскольку OP непреклонно знать ответ и, похоже, не имеет установленного python, у меня есть созданное решение JS https://codepen.io/anon/pen/zPYVQP . Другие придерживаются осторожности.