[Python-de] utf8
Stefan Schwarzer
sschwarzer at sschwarzer.net
So Dez 28 10:02:27 CET 2014
On 2014-12-28 09:32, Hermann Riemann wrote:
[Encoding in Quelltexten]
> Meine aktuellen Dateien.py sehen etwas so aus:
>
> #!/usr/bin/python3
> # -*- coding: utf-8 -*-
# coding: utf-8
reicht übrigens auch, siehe
https://www.python.org/dev/peps/pep-0263/ .
In Python 2 ist ASCII das Standard-Encoding für
Quelltext-Dateien, in Python 3 ist es UTF-8.
[Encoding von Daten während der Laufzeit]
> import codecs
> ..
> f=codecs.open(dateiname,'r',"utf8")
> ..
Ich würde die Funktion `open` aus dem `io`-Modul nehmen:
import io
fobj = io.open(dateiname, "r", encoding="utf8")
beziehungsweise
with io.open(dateiname, "r", encoding="utf8") as fobj:
...
Achtung: So geöffnete Dateien arbeiten nur mit
Unicode-Strings, was ich aber normalerweise für eine gute
Sache halte. Details siehe
https://docs.python.org/2.7/library/io.html#io.open
`io.open` gibt es ab Python 2.6, also auch in Python 3.
`io.open` ist identisch mit der eingebauten `open`-Funktion
in Python 3.
> Hermann
> der in jeder von ihm verwendete Programmiersprache
> utf-8 Problem hatte oder hat.
Welche Art von Problem(en)?
Viele Grüße
Stefan
Mehr Informationen über die Mailingliste python-de