Python-strängkod ()

Strängkodningsmetoden () returnerar kodad version av den angivna strängen.

Eftersom Python 3.0 lagras strängar som Unicode, dvs. varje tecken i strängen representeras av en kodpunkt. Så, varje sträng är bara en sekvens av Unicode-kodpunkter.

För effektiv lagring av dessa strängar omvandlas sekvensen av kodpunkter till en uppsättning byte. Processen är känd som kodning .

Det finns olika kodningar som behandlar en sträng annorlunda. De populära kodningarna är utf-8 , ascii , etc.

Med hjälp av strängens encode()metod kan du konvertera unikodade strängar till alla kodningar som stöds av Python. Som standard använder Python utf-8- kodning.

Syntaxen för encode()metoden är:

 string.encode (kodning = 'UTF-8', fel = 'strikt')

Strängkodsparametrar ()

Som standard encode()kräver metoden inga parametrar.

Den returnerar utf-8-kodad version av strängen. I händelse av misslyckande ger det ett UnicodeDecodeErrorundantag.

Det tar dock två parametrar:

  • kodning - kodningstypen som en sträng måste kodas till
  • fel - svar när kodningen misslyckas. Det finns sex typer av felsvar
    • strikt - standardsvar som ger ett UnicodeDecodeError-undantag vid fel
    • ignorera - ignorerar unencodable unicode från resultatet
    • ersätt - ersätter den okodningsbara unicoden till ett frågetecken ?
    • xmlcharrefreplace - infogar XML-teckenreferens istället för unencodable unicode
    • backslashreplace - infogar en uNNNN escape-sekvens istället för unencodable unicode
    • namereplace - infogar en N (…) escape-sekvens istället för unencodable unicode

Exempel 1: Koda till standardutf-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

Strängen är: pythön! Den kodade versionen är: b'pyth xc3 xb6n! '

Exempel 2: Kodning med felparameter

 # 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

Strängen är: pythön! Den kodade versionen (med ignorera) är: b'pythn! ' Den kodade versionen (med ersättare) är: b'pyth? N! '

Obs! Prova också olika kodnings- och felparametrar.

Intressanta artiklar...