Python String-codering ()

De string encode () methode retourneert een gecodeerde versie van de opgegeven string.

Sinds Python 3.0 worden strings opgeslagen als Unicode, dwz elk teken in de string wordt gerepresenteerd door een codepunt. Elke string is dus slechts een reeks Unicode-codepunten.

Voor een efficiënte opslag van deze strings wordt de reeks codepunten omgezet in een set bytes. Het proces staat bekend als codering .

Er zijn verschillende coderingen aanwezig die een string anders behandelen. De populaire coderingen zijn utf-8 , ascii , etc.

Met behulp van de string- encode()methode kunt u unicoded strings converteren naar alle coderingen die door Python worden ondersteund. Python gebruikt standaard utf-8- codering.

De syntaxis van encode()methode is:

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

String encode () Parameters

Standaard encode()vereist de methode geen parameters.

Het retourneert een utf-8 gecodeerde versie van de string. In het geval van een storing, werpt dit een UnicodeDecodeErroruitzondering op.

Er zijn echter twee parameters nodig:

  • codering - het coderingstype waarnaar een string moet worden gecodeerd
  • fouten - reactie wanneer codering mislukt. Er zijn zes soorten foutreacties
    • strict - standaardantwoord dat een UnicodeDecodeError-uitzondering oproept bij een fout
    • negeren - negeert de niet-codeerbare unicode uit het resultaat
    • vervangen - vervangt de niet-codeerbare unicode door een vraagteken ?
    • xmlcharrefreplace - voegt XML-tekenreferentie in in plaats van niet-codeerbare Unicode
    • backslashreplace - voegt een uNNNN escape-reeks in in plaats van een niet-codeerbare Unicode
    • namereplace - voegt een N (…) escape-reeks in in plaats van een niet-codeerbare Unicode

Voorbeeld 1: coderen als standaard Utf-8-codering

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

Uitvoer

De string is: pythön! De gecodeerde versie is: b'pyth xc3 xb6n! '

Voorbeeld 2: codering met foutparameter

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

Uitvoer

De string is: pythön! De gecodeerde versie (met negeren) is: b'pythn! ' De gecodeerde versie (met vervanging) is: b'pyth? N! '

Opmerking: probeer ook verschillende coderings- en foutparameters.

Interessante artikelen...