Thema: Delphi Ascii oder Ansi

Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#10

Re: Ascii oder Ansi

  Alt 9. Jun 2006, 10:25
Zitat von egal:
Mich interessiert eigentlich auch, warum werden meine Ascii-Datensätze in die Textdatei nicht richtig gespeichert.
Ich habe zuerst keine Umwandlung gemacht:
Delphi-Quellcode:
 var cZeile: string;
readln(txtFileAlt, cZeile); // txtFileAlt-Ascii-Codierung
writeLn(txtFileNeu,cZeile);
Das hat nicht geholfen, beim Einlesen habe Ascii nach Ansi umgewandelt, aber statt Umlauten war Müll.
Dann habe ich zuerst nach Ansi konvertiert und beim Schreiben wieder nach Ascii:
Delphi-Quellcode:
 var cZeile: string;
readln(txtFileAlt, cZeile); // txtFileAlt-Ascii-Codierung
cZeile := Ascii2Ansi(cZeile); // Ascii -> Ansi
cZeile := Ansi2Ascii(cZeile); // Ansi -> Ascii
writeLn(txtFileNeu,cZeile);
Hat auch nichts gebracht.
Und jetzt die Frage, was mache ich falsch: Readln/Writeln oder vielleicht String-Variable schuld?
Ähem, irgendwie kapiere ich noch immer nicht, wo es hängt. Warum kannst du nicht verstehen, daß in deiner Datei auch für jedes Zeichen 8bit benutzt werden und damit jedes Zeichen einen Wert von 0..255 hat?! ... und daß die Darstellung dieser jeweils 256 unterschiedlichen Entitäten allein dem lesenden Programm obliegt (bzw. beim Lesen und Speichern die "Abbildung" von Code zu darzustellendem Zeichen und umgekehrt).

Nur weil █ (Unicode-Zeichen $2588, EASCII-Zeichen $DB bei westeuropäischer DOS-Kodierung) unter DOS als "voller Block" erscheint, heißt das nicht, daß es unter einer anderen Kodierung (ANSI-westlich $DB == Û) genauso sein muß. Nochmal: nimm Unicodezeichen, wenn du das Erscheinungsbild der Zeichen eineindeutig festlegen willst.

Nebenbei gibt es dir "Bearbeiten"-Funktion für Beiträge, man muß also nicht jedes Mal einen neuen Beitrag verfassen (insbesondere so zeitnah).
  Mit Zitat antworten Zitat