[Python-de] Python verschluckt sich an chinesischen Schriftzeichen

Thomas 'PointedEars' Lahn PointedEars at web.de
Mo Jun 4 23:18:51 CEST 2012


Michael Ströder wrote:

> Thomas 'PointedEars' Lahn wrote:
>> Michael Ströder wrote:
>>> Thomas 'PointedEars' Lahn wrote:
>>>> 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...
>>>
>>> Es ist dann ein UCS-2-Build:
>>>
>>>   --enable-unicode[=ucs[24]]beinahe
>>>                           Enable Unicode strings (default is ucs2)
>> 
>> ACK, das ergibt Sinn.
>> 
>>>>> 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?
>>> Ist sys.maxunicode nicht die max. Anzahl der Unicode Code Points?
>> 
>> Es ist "An integer giving the largest supported code point for a Unicode
>> character." [1], was fast auf dasselbe hinausläuft (die max. Anzahl der
>> dann möglichen Codepunkte ist genau 1 mehr, denn U+0000 wird darin
>> eingeschlossen).
> 
> Also hatte Bernd durchaus recht mit der Vermutung, dass bei der
> betreffenden Python-Installation nicht alle Unicode-Zeichen intern
> verarbeitet werden können, auch wenn er sich vielleicht bzgl.
> Unicode-Begrifflichkeiten ungeschickt ausgedrückt haben mag.

Möglicherweise.  Da eine Codesequenz mit Surrogat-Codepunkten für Zeichen 
*jenseits* der BMP auch nur aus den Codes von zwei oder mehr Codepunkten 
*innerhalb* der BMP besteht, kann man das auch anders interpretieren.

Ich frage mich allerdings, wo er den flcsahlen Begriff "UTF-16 build" dafür 
überhaupt her hat.  Aus der Python-Dokumentation offensichtlich nicht, und 
aus der python-Hilfe offensichtlich auch nicht.  Udiags.

-- 
PointedEars

Please do not Cc: me. / Bitte keine Kopien per E-Mail.


Mehr Informationen über die Mailingliste python-de