Gibt es als Titel einen Grund, str () nicht zu verwenden, um Unicode-Strings in str ?? zu werfen?
%Vor%UPDATE: danke für die Antwort, wusste auch nicht, ob ich eine Zeichenfolge mit Sonderzeichen erstellen wird es automatisch in utf-8
konvertieren %Vor%Auch ist ein Unicode-Objekt in Python 3
Wenn Sie str(u'a')
schreiben, wird die Unicode-Zeichenkette mit der Standardcodierung in eine Byte-Zeichenkette umgewandelt (sofern Sie sich nicht mit dem Problem ändert es ) wird ASCII sein.
Die zweite Version codiert die Zeichenfolge explizit als UTF-8.
Der Unterschied wird deutlicher, wenn Sie mit einer Zeichenfolge versuchen, die Nicht-ASCII-Zeichen enthält. Die zweite Version wird noch funktionieren:
%Vor%Die erste Version wird eine Ausnahme geben:
%Vor%