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 UnicodeDecodeError
undantag.
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.