Computer >> Máy Tính >  >> Lập trình >> Python

Sự khác biệt giữa mã hóa / giải mã trong Python là gì?

Để biểu diễn một chuỗi unicode dưới dạng một chuỗi byte được gọi là mã hóa. Để chuyển đổi một chuỗi byte thành một chuỗi unicode được gọi là giải mã. Bạn thường mã hóa một chuỗi unicode bất cứ khi nào bạn cần sử dụng nó cho IO, chẳng hạn như chuyển nó qua mạng hoặc lưu nó vào một tệp đĩa. Bạn thường giải mã một chuỗi byte bất cứ khi nào bạn nhận dữ liệu chuỗi từ mạng hoặc từ tệp đĩa.

Để mã hóa một chuỗi bằng cách sử dụng một mã hóa nhất định, bạn có thể làm như sau:

 >>>u'æøå'.encode('utf8')
'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'

Để giải mã astring (sử dụng cùng một bảng mã được sử dụng để mã hóa nó), bạn cần gọi decode (mã hóa). Ví dụ:

>>>'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'.decode('utf8')
u'\xc3\xa6\xc3\xb8\xc3\xa5'

Chuỗi này trong mã hóa utf8 tương đương với u'æøå '