Wie behandeln utf-8-text mit Python 3?
Muss ich analysieren verschiedene text-Quellen und dann drucken /speichern es irgendwo.
Jedes mal, wenn ein nicht-ASCII-Zeichen vorgefunden wird, ich kann nicht richtig drucken, wie es wird in bytes konvertiert, und ich habe keine Ahnung, wie die korrekten Zeichen anzeigen.
(Ich bin ganz neu bei Python, ich komme aus der PHP, wo hatte ich keine utf-8-Probleme)
Folgende ist ein code-Beispiel:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import codecs
import feedparser
url = "http://feeds.bbci.co.uk/japanese/rss.xml"
feeds = feedparser.parse(url)
title = feeds['feed'].get('title').encode('utf-8')
print(title)
file = codecs.open("test.txt", "w", "utf-8")
file.write(str(title))
file.close()
Ich würde gerne print-und in Datei schreiben Sie den RSS-Titel (BBC-Japanisch - ホーム), sondern stattdessen das Ergebnis ist dieses:
b'BBC Japanisch - \xe3\x83\x9b\xe3\x83\xbc\xe3\x83\xa0'
Sowohl auf Bildschirm und Datei. Gibt es eine richtige Weg, dies zu tun ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Python ist3
bytes
undstr
sind zwei verschiedene Arten - undstr
ist für jede Art von Strings (auch unicode), wenn Sieencode()
etwas, konvertieren Sie es aus, es iststr
Darstellung, um die esbytes
Darstellung für eine bestimmte Codierung.In Ihrem Fall, um die decodierten Zeichenfolgen, die Sie gerade benötigen, um die zu entfernen
encode('utf-8')
Teil: