2012-05-14 17 views
8

पायथन 3 दस्तावेज़ में codecs page पर rot13 सूचीबद्ध है।Python3 में ROT13 एन्कोड कैसे करें?

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

यह एक unknown encoding: rot13 त्रुटि देता है:

मैं ROT13 एन्कोडिंग का उपयोग करके स्ट्रिंग एन्कोडिंग की कोशिश की। क्या अंतर्निहित rot13 एन्कोडिंग का उपयोग करने का कोई अलग तरीका है? यदि यह एन्कोडिंग पायथन 3 में हटा दी गई है (जैसा कि Google खोज परिणाम इंगित करते हैं), यह अभी भी Python3 दस्तावेज़ में क्यों सूचीबद्ध है?

+1

तुम सिर्फ 's.encode (" ROT13 ")' या 's.encode कोशिश की ("rot_13") '? मुझे नहीं लगता कि 'codecs.encode' जैसी कोई चीज़ है, बस' codecs.Codec()। एनकोड ' – agf

+0

एजीएफ: कोडेक्स.कोडेक()। एनकोड() फ़ंक्शन केवल स्ट्रिंग इनपुट में लेता है, कोई नहीं है एन्कोडिंग प्रकार में पास करने के लिए पैरामीटर। –

+2

आपको 'ओएस' छाया नहीं करना चाहिए। ಠ_ಠ – nyuszika7h

उत्तर

7

आह! मैंने सोचा कि इसे पायथन 3 से गिरा दिया गया है, लेकिन नहीं - यह सिर्फ इतना है कि इंटरफेस बदल गया है, क्योंकि कोडेक को बाइट्स लौटना पड़ता है (और यह स्ट्र-टू-स्ट्र है)।

यह 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] 
संबंधित मुद्दे