Decode string mit hex-Zeichen in python 2
Habe ich einen hex-string und möchte ich es konvertieren in utf8 einfügen mysql. (meine Datenbank ist utf8)
hex_string = 'kitap ara\xfet\xfdrmas\xfd'
...
result = 'kitap araştırması'
Wie kann ich das tun?
Definieren Sie hex_string in Ihrer Quelle oder von einer externen Quelle?
InformationsquelleAutor user260223 | 2010-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Python 2.6,
Siehe stackoverflow.com/questions/1715772/....
InformationsquelleAutor kennytm
Versuchen(Python 3.x):
Vom hier.
InformationsquelleAutor gangmax
Versuchen
(
cp1254
oderiso-8859-9
sind die türkische Zeichensätze, die erstere die üblichen Namen, die auf Windows-Plattformen, aber in Python, beide funktionieren gleich gut)InformationsquelleAutor Tim Pietzcker
Zuerst müssen Sie zu Dekodieren aus dem kodierten bytes, die Sie haben. Anscheinend in ISO-8859-9 (latin-5), oder, wenn Sie Windows verwenden, wahrscheinlich Codepage 1254, basierend auf latin-5.
Wenn Sie sind Verwendung von Windows, dann je nachdem, wo Sie sind immer diejenigen bytes, es könnte besser geeignet sein, um Sie entschlüsseln, wie
mbcs
, was übersetzt "welchen code Seite dem lokalen system mit'. Wenn der string ist einfach nur sitzen in einem.py
- Datei, die Sie nicht besser wäre, einfach zu schreibenu'kitap araştırması'
in der Quelle und setzen eines-*- coding
Erklärung der direkten Python zu entschlüsseln. Sehen PEP 263.Wie zum Kodieren von unicode-strings in UTF-8 für die Datenbank, sowie, wenn Sie möchten, können Sie dies manuell tun:
aber ein gutes data-access-layer ist die Wahrscheinlichkeit, dass automatisch für Sie, wenn Sie haben die
COLLATION
Tabellen die Daten in der rechten.InformationsquelleAutor bobince
String-Literale erläutert, wie die UTF8-strings in Python source.
InformationsquelleAutor Sjoerd