![]() |
Text/ASCII-Datei in ASCII-Code umwandeln
moin,
Ich habe hier eine Text/Ascii Datei, in der einige Zeichen enthalten sind, die das Notepad nicht darstellen kann (kleine Rechtecke). Wenn ich die Datei in ein Memo lade werden die Zeichen als Fragezeichen dargestellt. Wenn ich sie in eine Stringliste lade und mit Ord() in Ascii-Code umwandle dann wird â (#226), € (#128) und © (#169) ausgegeben. Aber der Test (die Zeichen wieder in die Datei schreiben) schlägt fehl. Es handelt sich bei der Datei um eine von Adobe InDesign CS erstellte XML Datei, in InDesign stellen die Zeichen einen Zeilenumbruch da. Allerdings stehen sie an (meines Erachtens) falscher/ungültiger Stelle nämlich nicht zwischen Tags, das ganze scheint also irgendwie irregulär zu sein. Allerdings brauche ich die Zeilenumbrüche und muss also wissen welche Zeichen ich in die Datei schreiben muss. Ich hoffe ihr habt eine Idee wie ich das Problem angehen könnte. |
Re: Text/ASCII-Datei in ASCII-Code umwandeln
Wo ist das Problem?
Habe ich irgenwie den Punkt verpasst? Wenn Du ein XML-Dokument lesen/schreiben möchtest, solltest Du eine entsprechende Bibliothek (z.B. MS-XML) einsetzten (-> diese beachtet dann auch vorhandene Zeichensatztbeschreibungen). Ist das Einlesen der Datei mit dem Parser nicht möglich - so handelt es sich wahrscheinlich um ein "nicht XML-Konformes" Format. |
Re: Text/ASCII-Datei in ASCII-Code umwandeln
lassen wir den XML-Teil mal außen vor, ich möchte eigentlich nur alle in der Datei vorhandenen Zeichen mit ihrem ASCII-Code auflisten.
|
Re: Text/ASCII-Datei in ASCII-Code umwandeln
Auswahl der wichtigsten Zeiichen :
Delphi-Quellcode:
function AnsiToIBMAscii(s: string): string;
var i: integer; begin Result := ''; for i := 0 to Length(s) do begin case s[i] of #196: Result := Result + #142; //Ä #214: Result := Result + #153; //Ö #220: Result := Result + #154; //Ü #228: Result := Result + #132; //ä #246: Result := Result + #148; //ö #252: Result := Result + #129; //ü #223: Result := Result + #225; //ß else Result := Result + s[i]; end; end; end; |
Re: Text/ASCII-Datei in ASCII-Code umwandeln
Liste der Anhänge anzeigen (Anzahl: 1)
hm,
anscheinend habe ich mein Problem nicht richtig verdeutlichen können. Dann greife ich jetzt halt zur Brachialmethode :mrgreen: im Anhang befindet sich die besagte Datei. Öffnet sie mit Firefox und sagt mir für was die Fragezeichen stehen oder öffnet sie mit dem IE bzw. Notepad und sagt mir für was die Kästchen stehen. |
Re: Text/ASCII-Datei in ASCII-Code umwandeln
Moin!
Meines Erachtens sind das Standard Zeilenvorschübe in UTF-8 korrekt kodiert. MfG Muetze1 |
Re: Text/ASCII-Datei in ASCII-Code umwandeln
ha,
Zitat:
|
Re: Text/ASCII-Datei in ASCII-Code umwandeln
Moin!
Wozu überhaupt? Laut XML Standard ist es völligst egal was zwischen den Tags steht - das sollen die Clients etc überlesen - und meiner z.B. macht das auch ohne Probleme. Daher ist die Frage ob du wirklich diese Zeichen brauchst? Wenn es eine richtige XML Datei sein soll, dann schreibe es ganz normal ohne Firlefanz in die Datei und schreibe ohne nicht UTF-8 als encoding rein sondern ISO-8859-15 und gut ist. MfG Muetze1 |
Re: Text/ASCII-Datei in ASCII-Code umwandeln
tja, das Dumme ist nur, dass nicht ICH die Datei erstellt habe, sondern Adobe InDesign CS und das bietet nur UTF-8, UTF-16 und Shift-JIS als Kodierung an. Die besagten Zeichen stellen tatsächlich einen Zeilenumbruch da, und genau den brauche ich auch zwingend, warum er nicht zwischen Tags steht kann ich auch nicht sagen :|
|
Re: Text/ASCII-Datei in ASCII-Code umwandeln
Moin!
Wieso er nicht dazwischen steht? Laut XML Standard sind alle Zeichen mit ASCII Code < 32 nicht zu beachten und zu überlesen. Im Normalfall braucht kein CR/LF drinne sein, das ist nur für den Nutzer, damit er dies besser lesen kann. Ok, dann lass Adobe dies doch schreiben - aber was kümmert dich das? Wo liegt denn nun dein genaues Problem? Also Adobe schreibt die Datei, selber eine schreiben willst du laut der Reaktion auf meinen vorherigen Post auch nicht und Lesen willste die XML wohl irgendwie auch nicht - also frage ich mich, was soll den mit den Zeichen sein und was genau willst du nun wissen? MfG Muetze1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz