Python Dize kodlaması ()

String encode () yöntemi, verilen dizenin kodlanmış sürümünü döndürür.

Python 3.0'dan beri, dizeler Unicode olarak saklanır, yani dizedeki her karakter bir kod noktası ile temsil edilir. Bu nedenle, her dize yalnızca bir Unicode kod noktası dizisidir.

Bu dizelerin verimli bir şekilde depolanması için, kod noktalarının dizisi bir bayta dönüştürülür. İşlem, kodlama olarak bilinir .

Bir dizgeyi farklı şekilde ele alan çeşitli kodlamalar mevcuttur. Popüler kodlamalar utf-8 , ascii vb.

String encode()yöntemini kullanarak , kodlanmamış dizeleri Python tarafından desteklenen herhangi bir kodlamaya dönüştürebilirsiniz. Varsayılan olarak Python, utf-8 kodlamasını kullanır .

encode()Yöntemin sözdizimi şöyledir:

 string.encode (kodlama = 'UTF-8', hatalar = 'katı')

String encode () Parametreler

Varsayılan olarak, encode()yöntem herhangi bir parametre gerektirmez.

Dizenin utf-8 kodlu sürümünü döndürür. Başarısızlık durumunda, bir UnicodeDecodeErroristisna yaratır .

Ancak iki parametre alır:

  • kodlama - bir dizenin kodlanması gereken kodlama türü
  • hatalar - kodlama başarısız olduğunda yanıt. Altı tür hata yanıtı vardır
    • katı - başarısızlık durumunda bir UnicodeDecodeError istisnası oluşturan varsayılan yanıt
    • yoksay - sonuçtan kodlanamayan unicode'u yok sayar
    • replace - kodlanamayan unicode'u bir soru işaretiyle değiştirir mi?
    • xmlcharrefreplace - kodlanamayan unicode yerine XML karakter başvurusu ekler
    • backslashreplace - kodlanamayan unicode yerine uNNNN kaçış dizisi ekler
    • isim yeri - kodlanamayan unicode yerine N (…) kaçış dizisi ekler

Örnek 1: Varsayılan Utf-8 Kodlamasına Kodlama

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

Çıktı

İp: pythön! Kodlanmış sürüm: b'pyth xc3 xb6n! '

Örnek 2: Hata parametresiyle kodlama

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

Çıktı

İp: pythön! Kodlanmış sürüm (yok sayma ile): b'pythn! ' Kodlanmış sürüm (değiştirmeli): b'pyth? N! '

Not: Farklı kodlama ve hata parametrelerini de deneyin.

Ilginç makaleler...