Es gibt so viele Fragen über Unicode-Decodierung in SO und nichts von diesem Satz passt meine Bedürfnisse.Python Unicode-Datei reencoding
Sag mal, ich brauche einige JSON-Daten zu verarbeiten, den Teil sieht aus wie das ist:
u'message': {
u'body': u'\u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435',
u'user_id': 374298,
u'title': u' ... ',
u'date': 1461496370,
u'read_state': 0,
u'id': 4325364,
u'out': 1
}
Das einzige Ziel loszuwerden Unicode ist für Menschen lesbaren Text in „Körper“ Reihe zu bekommen:
'message': {
'body': 'cпасибо большое',
'user_id': 374298,
'title': ' ... ',
'date': 1461496370,
'read_state': 0,
'id': 4325364,
'out': 1
}
Sobald es genügend json Daten sind, habe ich einige gefunden python-Quellcode wie folgt geändert:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
filePath = "/home/user/foo.txt"
outPath = filePath + ".new"
outText = ""
inF = open(filePath, "rb")
fContent = unicode(inF.read(), 'utf-8')
inF.close()
for everysymbol in fContent:
if isinstance(everysymbol, unicode):
outText += everysymbol.decode('cp1251')
else:
pass
fContent = outText
outF = open(outPath, "wb")
outF.write(outText.decode("utf-8"))
outF.close()
Leider ändert dieser Code in der Zieldatei nichts. Wie dekodiere ich meine Daten wirklich, um lesbar zu sein?
ändern rb und wb zu r und w – Natecat