Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Khác biệt string và byte string Python

String là sequence character – khái niệm trừu tượng, không lưu trực tiếp disk. Byte string là sequence byte – thứ lưu được trên disk. Mapping giữa chúng là encoding – có rất nhiều encoding (vô hạn) – cần biết encoding áp dụng để convert, vì encoding khác map cùng byte thành string khác. Ví dụ, cùng byte string biểu diễn 2 string khác ở 2 encoding:

>>> b'\xcf\x84o\xcf\x81\xce\xbdo\xcf\x82'.decode('utf-16')
'蓏콯캁澽苏'
>>> b'\xcf\x84o\xcf\x81\xce\xbdo\xcf\x82'.decode('utf-8')
'τορνoς'

Khi biết encoding, dùng .decode() của byte string lấy character string đúng. .encode() của character string làm ngược: encode character string thành byte string.