Unicode Feil i Python

Unicode er en kodingsstandard som bygger videre på grunnleggende 256 ASCII tegnsett. Det gir mulighet for bruk av spesialtegn, for eksempel de med aksenter og andre språk enn engelsk. Python kan representere Unicode-strenger med "Unicode" type. En del av denne typen inneholder argumenter og unntak ment å håndtere Unicode feil bør de oppstår.

Unicode Constructor

Unicode konstruktøren tar en, to eller tre parametere når uttrykke strenger. Den første parameteren er selve strengen, noe som er nødvendig når du ringer funksjonen og konvertert til Unicode. Den andre parameteren er den koding. Hvis denne parameteren er utelatt, vil ASCII-tegn som er større enn 127 resultere i en feil. Den tredje parameteren er en feilreaksjon handler, som vises hvis konstruktøren ikke kan konvertere strengen til Unicode, basert på koding regler.

unntak

Når Unicode feil oppstår, kan programmet kaste ett av flere innebygde unntak, avhengig av hvilken type feil som skjer. Programmet reiser en "UnicodeError", som betyr at en funksjon har fått en verdi som ikke er et Unicode-type. Dette unntaket har noen underklasser som oppstår under mer spesifikke tilfeller, som for eksempel "UnicodeEncodeError", "UnicodeDecodeError" og "UnicodeTranslateError" unntak. I de fleste tilfeller vil et program reagere med disse spesielle unntak i motsetning til den mer generisk "UnicodeError" unntak.

årsaker

I mange tilfeller Unicode feil oppstår på grunn av det faktum at hvert tegn kan være representert av flere bytes. Når du leser Unicode-strenger i biter, kan bare en del av bytes leses for et enkelt tegn, forårsaker en feil under dekoding tegnene. Når et program kaster en Unicode feil eller unntak, stopper det kjøring på det tidspunktet, og noen ganger vil føre til at hele programmet til å krasje.

resolusjoner

Skrive kode for å håndtere Unicode feil vil tillate programmet å fortsette uforstyrret og selv vise advarsler til brukeren om unntak. Når en blokk med kode kan føre til en feil, slik som ber brukeren om å angi en streng å konvertere til Unicode, kan en prøve uttalelse program for å teste koden og deretter ta en av to handlinger, avhengig av hvorvidt resultatet av test forårsaker en feil.