例如,要解码一个rot13
编码字符串,s
只需rot13
再次获取该字符串,即计算rot13(s)
。
如果您不熟悉如何rot13
在 python 中进行计算,请尝试使用 Google 搜索一下,您一定会找到的。我用谷歌搜索并找到了一个效果很好的解决方案:https ://stackoverflow.com/a/3269756/3293087 [请注意,它仅适用于 python2 而不是 python3,因为string.maketrans
已从 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!"
注意:我不会编写与 OP 最初发布的内容相对应的解码字符串,因为它非常冒犯和恐同。有兴趣的可以自己做。
更新:我还从这个 SO 答案中找到了适用于 python 2 和 3 的解决方案。事实证明,模块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。其他人请谨慎行事。