Am 1. Juni 2012 16:01 schrieb Thomas 'PointedEars' Lahn <PointedEars@web.de>:
Bernd Nawothnig wrote:
On 2012-04-21, wb wrote:
Laut sys.maxunicode (= 65535) habe ich wohl auch eine UTF-16 build, was genau das heißen mag...
Das heißt, dass dann nicht jedes Unicodezeichen intern abgespeichert werden kann, also nicht nur nicht dargestellt werden kann.
Wie kommst Du auf dies schmale Brett? Man kann mit *jeder* Unicode- Codierung *jedes* Unicode-Zeichen darstellen. Ob UTF-7, UTF-8, UTF-16 oder UTF-32 ist völlig egal. Die Codierung definiert nur die Länge einer Code- Einheit (und im Fall von UTF-16BE vs. UTF-16LE die Bytereihenfolge), nicht aber die Maximallänge einer Codesequenz und somit auch keinen Maximalwert bezüglich des codierbaren Codepunkts.
UCS 2 kann nur und ausschließlich Zeichen aus der BMP kodieren. Code-Points außerhalb der BMP lassen sich in UCS 2 nicht darstellen. Mithin kann auch ein UCS-2-Build von CPython nur und ausschließlich Zeichen aus der BMP in Zeichenketten verarbeiten.