Die Sache ist, wenn sie mit Text zu tun Wenn Sie in eine Datei geschrieben haben, müssen Sie die beim Schreiben der Datei verwendete Zeichencodierung kennen (oder richtig erraten). Wenn das Programm, das die Datei liest, die falsche Kodierung hier annimmt, werden Sie mit seltsamen Zeichen im Text enden, wenn Sie Glück haben und mit absolutem Müll, wenn Sie Pech haben.
Versuchen Sie nicht zu raten, versuchen Sie es zu wissen: Sie müssen Ihren Freund fragen, in welcher Zeichencodierung er oder sie den Gedichtentext in die Datei geschrieben hat. Sie müssen dann die Datei in Python öffnen, die diese Zeichencodierung angibt. Sagen wir seine/ihre Antwort „UTF-16-LE“ (für zuliebe Beispiel), schreiben Sie dann:
with open("poetry.bin", encoding="utf-16-le") as f:
print(f.read())
Es scheint, dass Sie auf Python sind 2 immer noch, obwohl, so dass Sie schreiben:
import io
with io.open("poetry.bin", encoding="utf-16-le") as f:
print f.read()
Sie könnten zunächst UTF-8 ausprobieren, das ist eine häufig verwendete Codierung.
Ihre ursprüngliche Frage war etwas unklar. Ich habe versucht, es zu klären, aber wenn ich die Bedeutung versehentlich geändert habe, kannst du es zurückrollen. – Tagc
Einfach als 'Bytearray' einlesen und dann in eine Zeichenkette umwandeln. –
Können Sie mir ein Beispiel geben? –