एक यूनिकोड स्ट्रिंग को बाइट्स की एक स्ट्रिंग के रूप में दर्शाने के लिए एन्कोडिंग के रूप में जाना जाता है। बाइट्स की एक स्ट्रिंग को एक यूनिकोड स्ट्रिंग में बदलने के लिए डिकोडिंग के रूप में जाना जाता है। जब भी आपको इसे IO के लिए उपयोग करने की आवश्यकता होती है, तो आप आमतौर पर एक यूनिकोड स्ट्रिंग को एन्कोड करते हैं, उदाहरण के लिए इसे नेटवर्क पर स्थानांतरित करें, या इसे डिस्क फ़ाइल में सहेजें। जब भी आप नेटवर्क से या डिस्क फ़ाइल से स्ट्रिंग डेटा प्राप्त करते हैं तो आप आमतौर पर बाइट्स की एक स्ट्रिंग को डीकोड करते हैं।
किसी दिए गए एन्कोडिंग का उपयोग करके एक स्ट्रिंग को एन्कोड करने के लिए आप निम्न कार्य कर सकते हैं:
>>>u'æøå'.encode('utf8') '\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'
एस्ट्रिंग को डीकोड करने के लिए (इसे एन्कोड करने के लिए उपयोग किए गए समान एन्कोडिंग का उपयोग करके), आपको डीकोड (एन्कोडिंग) को कॉल करने की आवश्यकता है। उदाहरण के लिए:
>>>'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'.decode('utf8') u'\xc3\xa6\xc3\xb8\xc3\xa5'
Utf8 एन्कोडिंग में यह स्ट्रिंग u'æøå' के बराबर है