Seite 1 von 1

Unicode Problem in python sourcecode

Verfasst: Mittwoch 4. Mai 2011, 12:03
von HarryH
Hallo,

Probiert mal folgendes:

Code: Alles auswählen

s = ur"Oh, here is a backslash before \unicode."
In Py 2.7 erscheint dabei nachfolgende Meldung:
SyntaxError: (unicode error) 'rawunicodeescape' codec can't decode bytes in position 11-12: truncated \uXXXX

Abhilfe schafft im obigen Beispiel die Modifizierung des Codes:

Code: Alles auswählen

s = u"Oh, here is a backslash before \\unicode."
Bei dem nächsten Beispiel wird es allerdings schwieriger:

Code: Alles auswählen

s = ur"c:\that\is\a\new\unicode\path"
Wie würdet ihr nun das oben geschilderte Unicode-Problem in Py 2.x am besten lösen? Vielleicht wird es ja auch schon in Py 2.7.2 gelöst, falls es diese Version geben wird.
Ab Py 3.2 gibt es damit kein Problem mehr (vielleicht auch schon Py 3.1, habe ich aber nicht getestet).

Grüße HarryH

Re: Unicode Problem in python sourcecode

Verfasst: Mittwoch 4. Mai 2011, 12:33
von ms4py
HarryH hat geschrieben:Wie würdet ihr nun das oben geschilderte Unicode-Problem in Py 2.x am besten lösen?
Bei Pfaden:

Code: Alles auswählen

os.path.join(u'my', u'unicode', u'path')
Ansonsten musst du eben auf den Raw-String verzichten (wie bei deiner Abhilfe).