Wie erhalte ich eine Größe einer UTF-8-Zeichenfolge in Bytes mit Python

8

Eine UTF-8-Zeichenfolge wie folgt haben:

%Vor%

ist es möglich, seine (im Speicher) Größe in Bytes mit Python (2.5) zu bekommen?

    
systempuntoout 01.10.2010, 19:39
quelle

1 Antwort

7

Angenommen, Sie meinen die Anzahl der UTF-8-Bytes (und nicht die zusätzlichen Bytes, die Python zum Speichern des Objekts benötigt), so ist dies die gleiche wie für die Länge einer anderen Zeichenfolge. Ein String-Literal in Python 2.x ist eine Zeichenfolge codierter Bytes, keine Unicode-Zeichen.

Bytezeichenfolgen:

%Vor%

Unicode-Zeichenfolgen:

%Vor%

Es empfiehlt sich, alle Zeichenfolgen in Unicode zu verwalten und nur bei der Kommunikation mit der Außenwelt zu codieren. In diesem Fall könnten Sie len(myunicode.encode('utf-8')) verwenden, um die Größe nach dem Kodieren zu finden.

    
Josh Lee 01.10.2010, 19:53
quelle

Tags und Links