Sind Unicode-Strings in Python 3 immer noch von "engen" / "breiten" Builds abhängig?

8

Seit Python 2.2 und PEP 261 kann Python in "eng" oder "breit" erstellt werden "Modus, der die Definition eines" Zeichens "beeinflusst, dh" die adressierbare Einheit eines Python-Unicode-Strings ".

Zeichen in schmalen Builds sehen wie UTF-16-Code-Einheiten aus:

%Vor%

(Das obige scheint mit einigen Quellen , die darauf bestehen, dass diese eng gefächert sind Verwenden Sie UCS-2, nicht UTF-16. Sehr interessant in der Tat)

Behält Python 3.0 diese Unterscheidung? Oder sind alle Python 3 Builds breit?

(Ich habe von PEP 393 gehört, das die interne Darstellung von Strings in 3.3 ändert, aber dies bezieht sich nicht auf 3.0 ~ 3.2.)

    
Kos 09.02.2013, 19:34
quelle

1 Antwort

9

Ja, von 3.0 bis 3.2. Windows verwendet enge Builds, während (die meisten) Unix Wide Builds verwendet

Verwenden von Python 3.2 unter Windows:

%Vor%

Dieses Verhalten wird unter Windows ab 3.3+ erwartet:

%Vor%

Der UCS-2-Codec wird auf Tk verwendet (ich benutze IDLE - das Terminal zeigt möglicherweise einen anderen Fehler).

    
JBernardo 09.02.2013, 20:02
quelle

Tags und Links