nullplan001
Goto Top

Unicode-Datei schreiben

Hi all,
also, ich hab da mal ein kleines Progrämmchen geschrieben, umm mir eine Unicode-Tabelle auszudrucken. Sieht dann so aus:

program unicode;
{Schreibt eine Unicode-Tabelle mit Tab-Trennung und Zeilenumbruch alle 10 Zeichen. Startet bei 32d.}
var
  i : word;
  f : file of word;
  datnam : string;

begin
  if paramcount >= 1 then datnam := paramstr(1) else datnam := 'test.txt';  
  assign(f, datnam);
  rewrite(f);
  write(f,$FFFE, $0009, $0009); {FFFE = Unicode-Auszeichnung, 2 Tabs}
  for i:= 32 to 65535 do begin
    write(f, i); {Zeichen}
    if (i mod 10) = 0 then write(f, $000D) else write(f, $0009); {Zeile voll ? Umbruch : Tab}
  end;
  close(f);
end.

Nun habe ich ein kleines Problem. Wenn ich das Programm starte, und dann die erzeugte Datei öffne, sehe ich nur komische Steuerzeichenkästchen. Als Schriftart habe ich im Editor Lucida Sans Unicode angegeben, aber trotzdem sehe ich nur Steuerzeichen. Was muss ich machen, damit ich eine ordentliche Tabelle hinbekomme?
Tschö,
nullplan

Content-ID: 29242

Url: https://administrator.de/contentid/29242

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

Biber
Biber 08.05.2006 um 00:31:06 Uhr
Goto Top
Moin Markus,
ich weiß nicht, ob Du das Problem inzwischen weiter eingekreist hast..
Deshalb meine Rückfrage:
Wir denn wenigsten der allerunterste Bereich (der Bereich der ASCII-Zeichen bis 255) lesbar angezeigt?
In den darüberliegenden Bereichen sind fast überall die entsprechenden Zeichen auch mit den Word-Fonts nur als Kästchen dargestellt - nur ganz vereinzelt werden mal "Buchstaben" angezeigt.
Was ich auch normal finde, den der Editor, auch mit "Lucida....Unicode" wird weder Runenschrift nocht alt-isländisch noch Thai darstellen können.

Wenn Du überall nur Steuerzeichen drinstehen hast, dann ist die Definition von "i: word" und/oder das parameterlose "Rewrite()" falsch.
Das kann ich nicht testen, da Pascal zusammen mit meinem alten 386er auf dem Dachboden steht..

Gib doch mal einen Zwischenstatus bitte.
Grüße
Biber
nullplan001
nullplan001 08.05.2006 um 16:27:04 Uhr
Goto Top
Hi, Biber,
Also, der neueste Stand ist folgendes:
Der Editor gibt fast nur Steuerzeichen aus, aber am ganz oberen Rand stehen die ASCII- und ANSI-Zeichen. Auch etwas Unicode (nämlich das kyrillische Alphabet), aber schon beim Zeilenumbruch hörts auf: Der wird nicht erkannt. Zumindest nicht von Notepad... nein, vim erkennt auch nichts in der Richtung.
Achso, kleine Korrektur: $FFFE ist die Kennung von Unicode Big Endian und UTF-8, für Unicode brauche ich $FEFF.