Κωδικοποίηση Python String ()

Η μέθοδος string encode () επιστρέφει την κωδικοποιημένη έκδοση της δεδομένης συμβολοσειράς.

Από το Python 3.0, οι συμβολοσειρές αποθηκεύονται ως Unicode, δηλαδή κάθε χαρακτήρας στη συμβολοσειρά αντιπροσωπεύεται από ένα σημείο κώδικα. Έτσι, κάθε συμβολοσειρά είναι απλώς μια ακολουθία σημείων κώδικα Unicode.

Για αποτελεσματική αποθήκευση αυτών των συμβολοσειρών, η ακολουθία των σημείων κώδικα μετατρέπεται σε ένα σύνολο byte. Η διαδικασία είναι γνωστή ως κωδικοποίηση .

Υπάρχουν διάφορες κωδικοποιήσεις που αντιμετωπίζουν μια συμβολοσειρά διαφορετικά. Οι δημοφιλείς κωδικοποιήσεις είναι utf-8 , ascii κ.λπ.

Χρησιμοποιώντας τη encode()μέθοδο της συμβολοσειράς , μπορείτε να μετατρέψετε μη κωδικοποιημένες συμβολοσειρές σε τυχόν κωδικοποιήσεις που υποστηρίζονται από την Python. Από προεπιλογή, η Python χρησιμοποιεί κωδικοποίηση utf-8 .

Η σύνταξη της encode()μεθόδου είναι:

 string.encode (κωδικοποίηση = 'UTF-8', σφάλματα = 'αυστηρό')

Κωδικοποίηση συμβολοσειράς () Παράμετροι

Από προεπιλογή, η encode()μέθοδος δεν απαιτεί παραμέτρους.

Επιστρέφει κωδικοποιημένη έκδοση utf-8 της συμβολοσειράς. Σε περίπτωση αποτυχίας, δημιουργεί μια UnicodeDecodeErrorεξαίρεση.

Ωστόσο, χρειάζονται δύο παραμέτρους:

  • κωδικοποίηση - ο τύπος κωδικοποίησης πρέπει να κωδικοποιηθεί μια συμβολοσειρά
  • σφάλματα - απόκριση κατά την αποτυχία της κωδικοποίησης. Υπάρχουν έξι τύποι απόκρισης σφαλμάτων
    • αυστηρή - προεπιλεγμένη απόκριση που δημιουργεί μια εξαίρεση UnicodeDecodeError σε αποτυχία
    • Αγνοήστε - αγνοεί τον unododable unicode από το αποτέλεσμα
    • Αντικατάσταση - αντικαθιστά το unododable unicode σε ερωτηματικό ;
    • xmlcharrefreplace - εισάγει αναφορά χαρακτήρων XML αντί για unododable unicode
    • backslashreplace - εισάγει μια uNNNN ακολουθία διαφυγής αντί για unododable unicode
    • namereplace - εισάγει μια N (…) ακολουθία διαφυγής αντί για unododable unicode

Παράδειγμα 1: Κωδικοποίηση σε προεπιλεγμένη κωδικοποίηση Utf-8

 # 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) 

Παραγωγή

Η συμβολοσειρά είναι: pythön! Η κωδικοποιημένη έκδοση είναι: b'pyth xc3 xb6n! '

Παράδειγμα 2: Κωδικοποίηση με παράμετρο σφάλματος

 # 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")) 

Παραγωγή

Η συμβολοσειρά είναι: pythön! Η κωδικοποιημένη έκδοση (με παράβλεψη) είναι: b'pythn! ' Η κωδικοποιημένη έκδοση (με αντικατάσταση) είναι: b'pyth? N! '

Σημείωση: Δοκιμάστε επίσης διαφορετικές παραμέτρους κωδικοποίησης και σφάλματος.

ενδιαφέροντα άρθρα...