Unicode er en koding standard som utvider på den grunnleggende 256 ASCII-tegnsettet . Det gir mulighet for bruk av spesialtegn , slik som de med aksenter og andre språk enn engelsk. Python kan representere Unicode-strenger ved hjelp av " unicode " type . En del av denne typen inneholder argumenter og unntak ment å behandle Unicode feil som måtte oppstå. Unicode Constructor
Unicode konstruktøren tar en, to eller tre parametere når uttrykke strenger . Den første parameteren er selve strengen , som er nødvendig når du ringer funksjonen og konvertert til Unicode. Den andre parameteren er koding. Hvis denne parameteren er utelatt , vil ASCII-tegn større enn 127 resultere i en feil . Den tredje parameteren er en feil respons handler, som vises hvis konstruktøren ikke kan konvertere strengen til Unicode , basert på koding regler .
Unntak
Når Unicode feil forekommer, kan programmet kaste en av flere innebygde unntak, avhengig av hvilken type av feil det skjer. Programmet tar opp et " UnicodeError ", som betyr at en funksjon har mottatt en verdi som ikke er et Unicode -type . Dette unntaket har noen underklasser som oppstår under flere konkrete saker , som for eksempel " UnicodeEncodeError ", " UnicodeDecodeError " og " UnicodeTranslateError " unntak . I de fleste tilfeller vil et program svare med disse spesifikke unntak i motsetning til de mer generiske " UnicodeError " unntak.
Årsaker
I mange tilfeller Unicode feil oppstå på grunn av det faktum at hvert tegn kan representeres av flere bytes . Når du leser Unicode-strenger i biter , kan bare en del av bytes leses for en enkelt karakter , forårsaker en feil når dekoding tegnene . Når et program kaster en Unicode feil eller unntak, det stopper henrettelsen på det punktet , og noen ganger vil føre til at hele programmet til å krasje.
Resolusjoner
Skrive kode for å håndtere Unicode feil vil tillate programmet å fortsette uten avbrudd og med vise advarsler til brukeren om unntak. Når en blokk med kode kan føre til en feil , som for eksempel å spørre brukeren å skrive inn en streng for å konvertere til Unicode , kan en prøve uttalelse programmet til å teste koden , og deretter ta en av to handlinger , avhengig av hvorvidt resultatet av testen forårsaker en feil .