Eine Abhilfe für Ihr Problem der Zeichenfolge in einer bestimmten Codierung zu versuchen wäre und zu codieren.
Zum Beispiel:
'H€llø'.encode('utf-8')
Dies wird den folgenden Fehler aus:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1: ordinal not in range(128)
Jetzt können Sie die „UnicodeDecodeError“ fangen, um festzustellen, dass die Zeichenfolge nicht nur die ASCII-Zeichen enthalten haben.
try:
'H€llø'.encode('utf-8')
except UnicodeDecodeError:
print 'This string contains more than just the ASCII characters.'
Ich denke, das wird immer eine ganze Liste erstellen? Es verwendet mehr Speicher und wird langsamer, wenn das erste Zeichen ein Zeichen> 0x80 ist, da es über die gesamte Zeichenfolge iteriert (was in * den meisten * Anwendungen nicht so wichtig ist, aber in * einigen *). – Carpetsmoker
@Carpetsmoker> Ich denke, das wird immer eine ganze Liste erstellen?
warvariuc
Okay, danke ;-) – Carpetsmoker