Hướng dẫn why we use .encode in python? - tại sao chúng tôi sử dụng .encode trong python?

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về phương thức Python String Encode () với sự trợ giúp của các ví dụ.

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

Thí dụ

title = 'Python Programming'

# change encoding to utf-8 print(title.encode())

# Output: b'Python Programming'


Cú pháp của chuỗi mã hóa ()

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

string.encode(encoding='UTF-8',errors='strict')

Chuỗi mã hóa () tham số

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

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

Tuy nhiên, phải mất hai tham số:

  • Mã hóa - chuỗi loại mã hóa phải được mã hóa thành - the encoding type a string has to be encoded to
  • Lỗi - Phản hồi khi mã hóa không thành công. Có sáu loại phản ứng lỗi - response when encoding fails. There are six types of error response
    • nghiêm ngặt - phản hồi mặc định làm tăng ngoại lệ unicodedecodeerror về thất bại
    • Bỏ qua - bỏ qua Unicode không thể kiểm soát được từ kết quả
    • Thay thế - Thay thế Unicode không thể kiểm soát thành dấu hỏi??
    • xmlcharrefreplace - chèn tham chiếu ký tự XML thay vì unicode không thể kiểm soát được
    • Backslashreplace - Chèn trình tự thoát \ unnnn thay vì unicode không thể kiểm soát được
    • NamePlace - Chèn A \ n {...} Trình tự thoát hiểm thay vì Unicode không thể kiểm soát được

Ví dụ 1: Mã hóa cho 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

The string is: pythön!
The encoded version is: 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

The string is: pythön!
The encoded version (with ignore) is: b'pythn!'
The encoded version (with replace) is: b'pyth?n!'

The string is: pythön!
The encoded version is: b'pyth\xc3\xb6n!'
Try different encoding and error parameters as well.


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

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

Mã hóa chuỗiencoding.

Vì 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 thị 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.utf-8, ascii, etc.

Để 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 được gọi là mã hóa.utf-8 encoding.

Phương thức chuỗi


Thí dụ

UTF-8 mã hóa chuỗi:

txt = "Tên tôi là Ståle"

x = txt.encode ()

print(x)

Chạy ví dụ »


Định nghĩa và cách sử dụng

Phương thức encode() mã hóa chuỗi, sử dụng mã hóa được chỉ định. Nếu không có mã hóa được chỉ định, UTF-8 sẽ được sử dụng.


Cú pháp

String.encode (mã hóa = mã hóa, lỗi = lỗi)

Giá trị tham số

Tham sốSự mô tả
mã hóaKhông bắt buộc. Một chuỗi chỉ định mã hóa để sử dụng. Mặc định là UTF-8
lỗiKhông bắt buộc. Một chuỗi chỉ định phương thức lỗi. Giá trị pháp lý là:
string.encode(encoding='UTF-8',errors='strict')
2
- Sử dụng dấu gạch chéo ngược thay vì ký tự không thể mã hóa
string.encode(encoding='UTF-8',errors='strict')
3
- Bỏ qua các ký tự không thể được mã hóa
string.encode(encoding='UTF-8',errors='strict')
4
- Thay thế ký tự bằng một văn bản giải thích nhân vật
string.encode(encoding='UTF-8',errors='strict')
5
- Mặc định, gây ra lỗi về thất bại
string.encode(encoding='UTF-8',errors='strict')
6
- Thay thế nhân vật bằng một câu hỏi
string.encode(encoding='UTF-8',errors='strict')
7
- Thay thế ký tự bằng ký tự XML

Nhiều ví dụ hơn

Thí dụ

Các ví dụ này sử dụng mã hóa ASCII và một ký tự không thể được mã hóa, hiển thị kết quả với các lỗi khác nhau:

txt = "Tên tôi là Ståle"

print (txt.encode (mã hóa = "ascii", error = "backslashreplace")) print (txt.encode (mã hóa = "ascii", error = "onvore")) Lỗi = "NamePlace")) in (txt.encode (mã hóa = "ascii", error = "thay thế"))
print(txt.encode(encoding="ascii",errors="ignore"))
print(txt.encode(encoding="ascii",errors="namereplace"))
print(txt.encode(encoding="ascii",errors="replace"))
print(txt.encode(encoding="ascii",errors="xmlcharrefreplace"))

Chạy ví dụ »


Phương thức chuỗi


.Encode làm gì trong Python?

Định nghĩa và sử dụng Phương thức mã hóa () mã hóa chuỗi, sử dụng mã hóa được chỉ định. Nếu không có mã hóa được chỉ định, UTF-8 sẽ được sử dụng.encodes the string, using the specified encoding. If no encoding is specified, UTF-8 will be used.

Tại sao chúng ta sử dụng UTF

Tại sao sử dụng UTF-8?Một trang HTML chỉ có thể ở một mã hóa.Bạn không thể mã hóa các phần khác nhau của tài liệu trong các mã hóa khác nhau.Một mã hóa dựa trên Unicode như UTF-8 có thể hỗ trợ nhiều ngôn ngữ và có thể chứa các trang và biểu mẫu trong bất kỳ hỗn hợp nào của các ngôn ngữ đó.An HTML page can only be in one encoding. You cannot encode different parts of a document in different encodings. A Unicode-based encoding such as UTF-8 can support many languages and can accommodate pages and forms in any mixture of those languages.

Tại sao mã hóa lại quan trọng trong Python?

Lý do chúng tôi mã hóa văn bản là máy tính không hiểu các ký tự, từ hoặc câu;Do đó, máy tính chỉ có thể xử lý các số, nếu chúng ta muốn dạy máy tính hiểu ngôn ngữ tự nhiên thì chúng ta nên mã hóa dữ liệu văn bản thành định dạng số trước khi nhập nó vào bất kỳ máy nào.computers do not understand characters, words, or sentences; Computers can only process numbers, therefore, if we wish to teach computers to understand natural language then we ought to encode the textual data into a numeric format before inputting it into any machine.

Tại sao chúng ta mã hóa?

Dữ liệu mã hóa thường được sử dụng để đảm bảo tính toàn vẹn và khả năng sử dụng của dữ liệu và thường được sử dụng khi dữ liệu không thể được chuyển theo định dạng hiện tại giữa các hệ thống hoặc ứng dụng.Mã hóa không được sử dụng để bảo vệ hoặc bảo mật dữ liệu vì nó dễ dàng đảo ngược.to ensure the integrity and usability of data and is commonly used when data cannot be transferred in its current format between systems or applications. Encoding is not used to protect or secure data because it is easy to reverse.