Unicode är en kodning standard som expanderar på den grundläggande 256 ASCII. Det möjliggör användning av specialtecken , såsom de med accenter och andra språk än engelska . Python kan representera Unicodesträngar med " unicode " typ . En del av denna typ innehåller argument och undantag innebar att hantera Unicode fel om de skulle uppstå . Unicode Constructor
Unicode konstruktorn tar en , två eller tre parametrar när de uttrycker strängar . Den första parametern är själva strängen , vilket krävs vid anrop av funktioner och konverteras till Unicode . Den andra parametern är kodningen . Om denna parameter utelämnas , kommer ASCII-tecken större än 127 resultera i ett fel . Den tredje parametern är ett fel svar handler , som visas om konstruktören inte kan konvertera strängen till Unicode , baserad på kodning regler .
Undantag
När Unicode fel inträffar , kan programmet kasta en av flera inbyggda undantag , beroende på vilken typ av fel som inträffar . Programmet tar upp ett " UnicodeError ", vilket innebär att en funktion har fått ett värde som inte är en Unicode - typ . Detta undantag har vissa underklasser som uppträder under mer specifika fall , till exempel " UnicodeEncodeError , " " UnicodeDecodeError " och " UnicodeTranslateError " undantag . I de flesta fall kommer ett program att svara med dessa särskilda undantag i motsats till den mer allmänna " UnicodeError " undantag .
Orsaker
I många fall , Unicode fel uppstår på grund av det faktum att varje tecken kan representeras av flera bytes . När man läser Unicodesträngar i bitar , får endast en del av de bytes läsas för en enda karaktär , vilket orsakar ett fel vid avkodning karaktärerna . När ett program kastar en Unicode fel eller undantag , det stoppar exekvering vid den punkten och ibland kommer att orsaka hela programmet att krascha .
Resolutioner
Skriva kod för att hantera Unicode fel kommer att göra det möjligt för programmet att fortsätta utan avbrott och även visa varningar till användaren om undantag . När ett block av kod kan resultera i ett fel , som uppmanar användaren att ange en sträng för att konvertera till Unicode , gör en try programmet för att testa koden och sedan ta en av två åtgärder , beroende på om resultatet av testet orsakar ett fel .