2012-05-14 26 views
8

La documentación de Python 3 tiene rot13 enumerado en su codecs page.¿Cómo codificar ROT13 en Python3?

he intentado que codifica una cadena utilizando la codificación rot13:

import codecs 
s = "hello" 
os = codecs.encode(s, "rot13") 
print(os) 

Esto da un error de unknown encoding: rot13. ¿Hay alguna otra manera de usar la codificación incorporada de rot13? Si esta codificación se ha eliminado en Python 3 (como parecen indicar los resultados de búsqueda de Google), ¿por qué sigue figurando en la documentación de Python3?

+1

¿Usted intentó simplemente 's.encode ("rot13")' 'o s.encode ("rot_13")? No creo que exista algo como 'codecs.encode', solo' codecs.Codec(). Encode' – agf

+0

agf: la función codecs.Codec(). Encode() solo acepta la entrada de cadena, no hay parámetro para pasar en el tipo de codificación. –

+2

No debe sombrear 'os'. ಠ_ಠ – nyuszika7h

Respuesta

13

En Python 3.2 y versiones posteriores, no es rot_13 str-to-str codec:

import codecs 

print(codecs.encode("hello", "rot-13")) # -> uryyb