Seite 1 von 1
string in 00100 umändern und zurück
Verfasst: Samstag 28. Januar 2006, 20:30
von rogen
wie kann ich ein string in 0en und 1en umändern ( und wieder zurück ) ?
Verfasst: Samstag 28. Januar 2006, 20:32
von modelnine
Warum 0en und 1en? Was sollen die ausdrücken? (heißt also soviel wie: Deine Frage ist absolut undeutlich, stell sie besser/anders)
Kleines Beispiel (nämlich eine mögliche Lösung für Deine Frage wie Du sie gestellt hast), und ich denke nicht das was Du willst:
--- Heiko.
Verfasst: Samstag 28. Januar 2006, 20:48
von rogen
ich schreibe emails in eine datenbank
wenn in einem anhang ein bild ist streikt mysql
ich dachte mir wenn ich den anhang in 0 und 1 verändere kann ich ihn ganz sicher
in die datenbank speicher .
mfg
Verfasst: Samstag 28. Januar 2006, 20:53
von modelnine
So, langsam kommen wir der Sache näher.
Lies mal bei MySQL nach BLOBs nach, die können Binärdaten ohne dass Du sie vorher irgendwie "escape"st speicher. Und vor allen Dingen kannst Du mittels des SQL-Formatting-Operators von MySQLdb auch schon die Arbeit machen lassen (dieser ist vorgeschrieben für alle DB-API 2.0-kompatiblen Wrapper).
Beispiel:
(Um die Tabelle zu erstellen, siehe im besonderen das data-Feld)
Code: Alles auswählen
CREATE TABLE blah (blobid INT primary key auto_increment,
data BLOB);
(Um es dann schlußendlich einzufügen über Cursor c)
Code: Alles auswählen
c.execute("INSERT INTO blah (data) VALUES (%s)",(bild_daten,))
Sei Dir darüber im klaren dass das %s kein String-Formatting Operator ist, sondern das Datenbank-Escaping macht, und im besonderen kannst Du dann ganz einfach mittels eines SELECTs die Daten wieder aus der Datenbank holen.
--- Heiko.
Verfasst: Samstag 28. Januar 2006, 21:02
von rogen
im anhang sind aber nicht immer bilder sonder auch txt dateien
geht das bei txt auch ?
Verfasst: Samstag 28. Januar 2006, 21:37
von henning
BLOB kann alles speichern, es speichert Daten halt als Binärdaten soll heissen, es interpretiert Sonderzeichen wie lineendings etc.. nicht, die Daten bleiben also unversehrt, was natürlich auch für Textdateien gilt.