Mã hóa chuỗi Python ()

Phương thức string encode () trả về phiên bản được mã hóa của chuỗi đã cho.

Kể từ Python 3.0, các chuỗi được lưu trữ dưới dạng Unicode, tức là mỗi ký tự trong chuỗi được biểu diễn bằng một điểm mã. Vì vậy, mỗi chuỗi chỉ là một chuỗi các điểm mã Unicode.

Để lưu trữ hiệu quả các chuỗi này, chuỗi các điểm mã được chuyển đổi thành một tập hợp các byte. Quá trình này được gọi là mã hóa .

Có nhiều bảng mã khác nhau xử lý một chuỗi khác nhau. Các mã hóa phổ biến là utf-8 , ascii , v.v.

Sử dụng encode()phương thức của chuỗi , bạn có thể chuyển đổi các chuỗi chưa được mã hóa thành bất kỳ mã hóa nào được Python hỗ trợ. Theo mặc định, Python sử dụng mã hóa utf-8 .

Cú pháp của encode()phương thức là:

 string.encode (encoding = 'UTF-8', error = 'nghiêm ngặt')

Các tham số mã hóa chuỗi ()

Theo mặc định, encode()phương thức không yêu cầu bất kỳ tham số nào.

Nó trả về phiên bản được mã hóa utf-8 của chuỗi. Trong trường hợp thất bại, nó đưa ra một UnicodeDecodeErrorngoại lệ.

Tuy nhiên, nó có hai tham số:

  • mã hóa - kiểu mã hóa mà một chuỗi phải được mã hóa thành
  • lỗi - phản hồi khi mã hóa không thành công. Có sáu loại phản hồi lỗi
    • nghiêm ngặt - phản hồi mặc định gây ra ngoại lệ UnicodeDecodeError khi bị lỗi
    • bỏ qua - bỏ qua unicode không thể mã hóa từ kết quả
    • thay thế - thay thế unicode không thể mã hóa thành một dấu hỏi ?
    • xmlcharrefreplace - chèn tham chiếu ký tự XML thay vì mã unicode không thể mã hóa
    • dấu gạch chéo ngược - chèn chuỗi thoát uNNNN thay vì unicode không thể mã hóa
    • namereplace - chèn chuỗi thoát N (…) thay vì unicode không thể mã hóa

Ví dụ 1: Mã hóa thành Mã hóa Utf-8 mặc định

 # unicode string string = 'pythön!' # print string print('The string is:', string) # default encoding to utf-8 string_utf = string.encode() # print result print('The encoded version is:', string_utf) 

Đầu ra

Chuỗi là: pythön! Phiên bản được mã hóa là: b'pyth xc3 xb6n! '

Ví dụ 2: Mã hóa với tham số lỗi

 # unicode string string = 'pythön!' # print string print('The string is:', string) # ignore error print('The encoded version (with ignore) is:', string.encode("ascii", "ignore")) # replace error print('The encoded version (with replace) is:', string.encode("ascii", "replace")) 

Đầu ra

Chuỗi là: pythön! Phiên bản được mã hóa (có bỏ qua) là: b'pythn! ' Phiên bản được mã hóa (có thay thế) là: b'pyth? N! '

Lưu ý: Hãy thử các thông số mã hóa và lỗi khác nhau.

thú vị bài viết...