Konvertieren Sie UTF-8-Oktette in Unicode-Codepunkte

7

Ich habe einen Satz von UTF-8-Oktetts und muss sie wieder in Unicode-Codepunkte konvertieren. Wie kann ich dies in Python tun.

z.B. UTF-8-Oktett ['0xc5', '0x81'] sollte in 0x141-Codepunkt umgewandelt werden.

    
Poorna 08.12.2009, 04:59
quelle

4 Antworten

11

Python 3.x:

In Python 3.x ist str die Klasse für Unicode-Text und bytes dient zum Enthalten von Oktetten.

Wenn Sie unter "Oktetts" wirklich Zeichenfolgen in der Form '0xc5' (statt '\ xc5') verstehen, können Sie diese in bytes wie folgt umwandeln:

%Vor%

Sie können dann mit dem str Konstruktor ...

in str (dh: Unicode) konvertieren %Vor%

... oder indem .decode('utf-8') für das Objekt bytes aufgerufen wird:

%Vor%

Pre-3.x:

Vor 3.x war der str -Typ ein Byte-Array und unicode war für Unicode-Text.

Wenn Sie mit "Oktetts" wirklich Zeichenfolgen in der Form '0xc5' (statt '\ xc5') meinen, können Sie sie wie folgt konvertieren:

%Vor%

Sie können dann in unicode mit dem Konstruktor ...

konvertieren %Vor%

... oder indem .decode('utf-8') auf str :

aufgerufen wird %Vor%     
Laurence Gonsalves 08.12.2009, 05:03
quelle
6

In schönen 3.x, wo alle str s sind Unicode, und bytes sind, was str s war:

%Vor%

Nach was Sie gefragt haben.

    
Don O'Donnell 08.12.2009 06:39
quelle
3
%Vor%     
mhawke 08.12.2009 05:03
quelle
1
%Vor%     
YOU 08.12.2009 05:03
quelle

Tags und Links