Text unbekannter Formatierung umwandeln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
vorlautboy
User
Beiträge: 38
Registriert: Sonntag 7. Dezember 2008, 18:43

Servus Leute!

ich hab da folgendes problem: ich will werte aus einer datenbank (.mdb-format; nicht von mir erstellt) auslesen und in meinem eigenen programm verwenden. ich habe die tabelle schon in eine .csv datei exportiert, jedoch erhalte ich nicht die gewünschten zeichen. das programm, das eigentlich auf die datenbank zugreift, kann die zeichen jedoch richtig interpretieren, dazu liegt die datei "UT Greek Traditional Times Bold.ctf" im verzeichnis. kennt jemand diese codierung bzw. weiß jemand wie man die zeichen mithilfe der .ctf datei selbst umwandeln kann?
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

äh, das ist keine codierung, sondern eine Schriftart. Erkennbar auch für Laien an 'Times' und 'Bold'. :)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

.ctf | code translation | Symphony Character code

Das hört sich schon sehr nach Kodierung an, aber das klingt für mich auch recht komisch.

Da das wohl ein ziemlich proprietäres Ding ist, wär es wohl besser, wenn du erklärst was das genau sein soll.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das hört sich ganz klar nach einem Font an! Irgend wie werden da zwei Sachen miteinander vermengt ... ein Font dient ja nur der grafischen Dratsellung, eine Codierung dient der Repräsentation von Zeichen.

Der Autor sollte mal evtl. ein Fragment hier reinstellen oder zumindest mal posten, welche "Zeichen" er denn erhält!

Evtl. wandelt er das ganze ja auch in eine falsche Codierung, die eben solche Zeichen nicht darstellen kann. Afaik müßte dann doch utf-8 die richtige Wahl sein? Damit sollte doch alles darstellbar sein, das es so gibt.

Was bleibt ist, rauszubekommen mit welcher Zeichencodierung die DB arbeitet (bzw. die Tabelle) und diese dann entsprechend einzulesen und in Unicode zu wandeln. Daraus kann man dann halt utf-8 machen oder sonst was.
vorlautboy
User
Beiträge: 38
Registriert: Sonntag 7. Dezember 2008, 18:43

bei der datei glaube ich auch eher, dass es sich um ein font handelt. aber das scheint auch nicht das problem zu sein.

das programm (nicht mein programm) liest eben die werte aus der datenbank aus (ascii codiert), und interpretiert die 8-bit werte als buchstaben. wenn ich mir die spalten im editor anschaue, dann stimmen alle mit der ausgabe des programms überein, bis auf eine, die nur wirre und sinnlose zeichenfolgen beinhaltet. diese spalte wird vom programm offensichtlich anders interpretiert, als die restlichen spalten. es muss die 8-bit werte in dieser spalte ja schließlich als griechische buchstaben deuten, die werte aus den andern spalten hingegen werden so ausgegeben wie sie auch im editor stehen(ascii-ascii).
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

ctf sind ClearType-Fonts.

Ansonsten: Wenn es sich wirklich um ein griechisches 8-bit-Encoding handelt, könnte es sich im ISO-8859-7 handeln. Probiers mal aus.

Gruß,
Manuel
vorlautboy
User
Beiträge: 38
Registriert: Sonntag 7. Dezember 2008, 18:43

dann siehts wohl so aus, als ob die .ctf datei für die richtige ausgabe zuständig ist, also dass bspw. einem á in der spalte bei der ausgabe ein alpha zugeordnet wird.

wie kann ich .ctf dateien selbst in mein programm einbinden? wie zeichne ich die buchstaben?
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

vorlautboy hat geschrieben:dann siehts wohl so aus, als ob die .ctf datei für die richtige ausgabe zuständig ist, also dass bspw. einem á in der spalte bei der ausgabe ein alpha zugeordnet wird.

wie kann ich .ctf dateien selbst in mein programm einbinden? wie zeichne ich die buchstaben?
Nö, das ist nur ein Font. Wenn du eine graphische Oberfläche bastelst, dann kannst du je nach Toolkit den Font irgendwo einstellen. Dazu muss du halt die Doku lesen.

Wenn du mit den Daten arbeiten willst, dann dekodiere sie nach Unicode. Um die Daten nach Unicode zu bekommen, muss du wissen, wie das Encoding ist. ISO-8859-7 könnte passen - muss aber nicht. Am besten, du fragst, denjenigen, der die DB erstellt hat.

Gruß,
Manuel
vorlautboy
User
Beiträge: 38
Registriert: Sonntag 7. Dezember 2008, 18:43

helduel hat geschrieben:Um die Daten nach Unicode zu bekommen, muss du wissen, wie das Encoding ist. ISO-8859-7 könnte passen - muss aber nicht.
jop. das hatte ich auch schon versucht. war aber irgendein exotisches (oder vom autor selbst entworfenes) encoding. ich hab mir jetzt von hand ein lookup-dict zur konvertierung nach utf-8 erstellt.
Antworten