The Python 3 documentation has rot13 listed on its codecs page.
I tried encoding a string using rot13 encoding:
import codecs
s = "hello"
os = codecs.encode( s, "rot13" )
print(os)
This gives a unknown encoding: rot13
error. Is there a different way to use the in-built rot13 encoding? If this encoding has been removed in Python 3 (as Google search results seem to indicate), why is it still listed in Python3 documentation?
In Python 3.2+, there is rot_13
str-to-str codec:
import codecs
print(codecs.encode("hello", "rot-13")) # -> uryyb
Aha! I thought it had been dropped from Python 3, but no - it is just that the interface has changed, because a codec has to return bytes (and this is str-to-str).
This is from http://www.wefearchange.org/2012/01/python-3-porting-fun-redux.html :
import codecs
s = "hello"
enc = codecs.getencoder( "rot-13" )
os = enc( s )[0]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With