首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python3中进行ROT13编码?

如何在Python3中进行ROT13编码?
EN

Stack Overflow用户
提问于 2012-05-14 08:34:57
回答 5查看 14.2K关注 0票数 14

Python3文档在其codecs page上列出了rot13。

我尝试使用rot13编码对字符串进行编码:

代码语言:javascript
复制
import codecs
s  = "hello"
os = codecs.encode( s, "rot13" )
print(os)

这会产生一个unknown encoding: rot13错误。有没有不同的方式使用内置的rot13编码?如果Python3中已经删除了这种编码(正如Google搜索结果所显示的那样),为什么它仍然列在Python3文档中?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-14 08:44:05

啊哈!我以为它已经从Python3中删除了,但事实并非如此--只是接口发生了变化,因为编解码器必须返回字节(这是str- to -str)。

这是来自http://www.wefearchange.org/2012/01/python-3-porting-fun-redux.html的:

代码语言:javascript
复制
import codecs
s   = "hello"
enc = codecs.getencoder( "rot-13" )
os  = enc( s )[0]
票数 9
EN

Stack Overflow用户

发布于 2013-11-19 15:11:37

在Python 3.2+中,有rot_13 str-to-str codec

代码语言:javascript
复制
import codecs

print(codecs.encode("hello", "rot-13")) # -> uryyb
票数 20
EN

Stack Overflow用户

发布于 2021-10-20 20:03:32

rot_13在Python3.0中删除,然后在v3.2中重新添加。rot13是在v3.4中添加的。

在Python 3.4+中,codecs.encode( s, "rot13" )运行得非常好

实际上,现在您可以在rot13之间使用任何标点符号,包括:

rot-13rot@13rot#13等。

https://docs.python.org/3/library/codecs.html#text-transforms

版本3.2中的

新功能:恢复rot_13文本转换。

版本3.4中的更改:恢复rot13别名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10576347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档