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