461 Stimmen

Arbeiten mit UTF-8-Kodierung in Python-Quellen

Bedenken Sie:

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Wie kann ich UTF-8-Strings im Quellcode deklarieren?

6 Stimmen

"Siehe python.org/peps/pep-0263.html für Details" scheint mir klar zu sein.

872voto

Michał Niklas Punkte 50723

In Python 3 ist UTF-8 die Standardkodierung des Quellcodes (siehe PEP 3120 ), so dass Unicode-Zeichen überall verwendet werden können.

In Python 2 können Sie in der Kopfzeile des Quellcodes deklarieren:

# -*- coding: utf-8 -*-
....

Dies wird beschrieben in PEP 0263 .

Dann können Sie UTF-8 in Zeichenketten verwenden:

# -*- coding: utf-8 -*-

u = 'idzie waz waska drózka'
uu = u.decode('utf8')
s = uu.encode('cp1250')
print(s)

92voto

Ranaivo Punkte 1560

Vergessen Sie nicht, zu überprüfen, ob Ihr Texteditor Ihren Code korrekt in UTF-8 kodiert.

Andernfalls können Sie unsichtbare Zeichen haben, die nicht als UTF-8 interpretiert werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X