Python-strengkode ()

Strengkodningsmetoden () returnerer kodet version af den givne streng.

Siden Python 3.0 lagres strenge som Unicode, dvs. hvert tegn i strengen er repræsenteret af et kodepunkt. Så hver streng er kun en sekvens af Unicode-kodepunkter.

For effektiv lagring af disse strenge konverteres rækkefølgen af ​​kodepunkter til et sæt bytes. Processen kaldes kodning .

Der er forskellige kodninger til stede, der behandler en streng forskelligt. De populære kodninger er utf-8 , ascii osv.

Ved hjælp af strengens encode()metode kan du konvertere unikodede strenge til alle kodninger, der understøttes af Python. Som standard bruger Python utf-8- kodning.

Syntaksen for encode()metoden er:

 string.encode (kodning = 'UTF-8', fejl = 'streng')

Parameter for strengkode ()

Som standard encode()kræver metoden ingen parametre.

Det returnerer utf-8-kodet version af strengen. I tilfælde af fiasko rejser det en UnicodeDecodeErrorundtagelse.

Det tager dog to parametre:

  • kodning - kodningstypen, som en streng skal kodes til
  • fejl - svar, når kodning mislykkes. Der er seks typer fejlrespons
    • streng - standardrespons, som rejser en UnicodeDecodeError-undtagelse ved fejl
    • ignorere - ignorerer den ukodelige unicode fra resultatet
    • erstatte - erstatter den ikke-kodbare unicode til et spørgsmålstegn ?
    • xmlcharrefreplace - indsætter XML-tegnreference i stedet for unencode, der ikke kan kodes
    • backslashreplace - indsætter en uNNNN escape-sekvens i stedet for ikke-kodbar unicode
    • namereplace - indsætter en N (…) escape-sekvens i stedet for unencode-unicode

Eksempel 1: Kod til standard Utf-8-kodning

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

Produktion

Strengen er: pythön! Den kodede version er: b'pyth xc3 xb6n! '

Eksempel 2: Kodning med fejlparameter

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

Produktion

Strengen er: pythön! Den kodede version (med ignorere) er: b'pythn! ' Den kodede version (med erstat) er: b'pyth? N! '

Bemærk: Prøv også forskellige kodnings- og fejlparametre.

Interessante artikler...