ইউনিকোড স্ট্রিংকে বাইটস স্ট্রিং আকারে রিপ্রেজেন্ট করা হলো এনকোডিং। বাইটস স্ট্রিংকে ইউনিকোড স্ট্রিংে রূপান্তর করা হলো ডিকোডিং। আপনি সrebroতঃ ইউনিকোড স্ট্রিং এনকোড করেন যখন আপনাকে সেটি I/O-র জন্য ব্যবহার করতে হয়, উদাহরণস্বরূপ নেটওয়ার্কে ট্রান্সফার করা বা ডিস্ক ফাইলে সেভ করা। আপনি সrebroতঃ বাইটস স্ট্রিং ডিকোড করেন যখন আপনি নেটওয়ার্ক বা ডিস্ক ফাইল থেকে স্ট্রিং ডেটা পান।
একটি স্ট্রিংকে নির্দিষ্ট এনকোডিং ব্যবহার করে এনকোড করতে পারেন:
>>> u'æøå'.encode('utf8')
'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'
একটি স্ট্রিং ডিকোড করতে (এনকোড করতে ব্যবহৃত একই এনকোডিং দিয়ে), আপনাকে decode(encoding) কল করতে হবে। উদাহরণস্বরূপ:
>>> '\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'.decode('utf8')
u'\xc3\xa6\xc3\xb8\xc3\xa5'
এই স্ট্রিং UTF-8 এনকোডিং-এ u'æøå'-এর সমতুল্য।