UNFORMAT Umwandeln einer mit dem Kommando REFORMAT formatierten Datei in das ursprüngliche Format. Der gesamte satzstrukturierte Arbeitsbereich wird in die fremde Dateistruktur umgewandelt und im Binärmodus angezeigt (zu erkennen an der Anzeige eines Sterns in der Zeilennummer).
UNFORMAT { RS n | LF | LF2 | LF2+[hhhh] | LF4 | DOS | UNIX | BS2 | ST str } [(n)] } [H] }
UNFORMAT UTF [,esc]
Umformatieren einer ASCII/ANSI-Datei in ein fremdes Format. Der gesamte satzstrukturierte Arbeitsbereich wird in die fremde Dateistruktur umgewandelt und im Binärmodus angezeigt (zu erkennen an der Anzeige eines Sterns in der Zeilennummer).
Datei mit Sätze fester Länge
RS n Record-Size. Nach dem Schlüsselwort RS ist die Satzlänge anzugeben. Die Daten des gesamten Arbeitsbereichs werden in eine Binärdatei ohne Satz-Trennzeichen umgewandelt.
Die bisherigen Sätze der ASCII-Datei müssen die Länge n haben, sonst wird das Kommando abgebrochen. Nötigenfalls sind die Daten bis zu der angegebenen Länge mit Leerzeichen aufzufüllen.
Datei mit variabler Satzlänge und Satzlängenfeld
LF2 Length-Field - Länge 2. Die Datei soll so organisiert werden, dass in den ersten zwei Bytes die Länge des Satzes (einschließlich des Satzlängenfeldes) steht. Ein Satz mit einem Längenfeld von X'0005' enthält z.B. noch drei Nutzbytes. Sätze dieses Formats werden von verschiedenen Textsystemen verwendet (DCA-Format). Jedem Satz wird ein zwei Byte langes Satzlängenfeld vorangestellt, das Satz-Trennzeichen wird gelöscht.
Zur Kennzeichnung, dass es sich um ein solches Format handelt, wird am Anfang der Datei ein Header-Satz mit dem LF2H Length-Field - Länge 2 mit Header-Satz. Als 1. Satz wird den Daten ein Header-Satz vorangestellt. Beim Einlesen einer solchen Datei mit dem Kommando READ wird automatisch das Kommando REFORMAT und ggf. CODE ausgeführt.
LF Length-Field - Länge 2. "LF" hat die gleiche Bedeutung wie LF2 und wird aus Gründen der Kompatibilität weiterhin unterstützt.
LF2+[hhhh] Length-Field - Länge 2 + 2 Byte X'hhhh'. Die Datei soll so organisiert werden, dass in den ersten zwei Bytes die Länge des Satzes (einschließlich des Satzlängenfeldes) steht. Danach folgen 2 Bytes mit dem Wert X'hhhh'. Fehlt die Angabe hhhh, wird X'4040' benutzt.
LF4 Length-Field - Länge 4. Die Datei soll so organisiert werden, dass in den ersten vier Bytes die Länge des Satzes (einschließlich des Satzlängenfeldes) steht. Dieses Format wird z.B. in BS2000-ZIP-Archiven benutzt, die nicht im kompatiblen Format erzeugt wurden.
Datei mit anderem Satz-Trennzeichen
ST str Das Satz-Trennzeichen der Datei ist nach dem Schlüsselwort ST anzugeben. Die Zeichenfolge kann als Character-String, als Hexadezimal-String oder als String-Variable angegeben werden. Das ASCII-Satz-Trennzeichen wird durch das in der Zeichenfolge str angegebene neue Satz-Trennzeichen ersetzt.
UNIX Der aktuelle Arbeitsbereich wird in das UNIX-Dateiformat mit den Satz-Trennzeichen X'0A' umgewandelt. Diese Option hat die gleiche Wirkung wie ST X'0A'.
DOS Der aktuelle Arbeitsbereich wird in das MS-DOS-Dateiformat mit den Satz-Trennzeichen x'0D0A' umgewandelt. Diese Option hat die gleiche Wirkung wie ST X'0D0A'.
UTF-8 Daten
UTF [,esc] Konvertierung eines Arbeitsbereichs mit Daten in ASCII-Codierung (ISO8859) zu Daten im UTF-8-Format. Es werden max. 2 Byte lange UNICODE-Zeichen (UCS-2, 16 Bit) unterstützt. Alle Zeichen mit einem UNICODE-Wert von 256 - 65.535 müssen als 6-Byte-Folge in der Form %Uxxxx (xxxx = 0100 bis FFFF) dargestellt sein. Das Zeichen "%" kann durch Angabe eines anderen Zeichens esc geändert werden, z.B. REFORMAT UTF,* (UNICODE-Zeichen sind in der Form *Uxxxx geschrieben).
Beispiel:
unformat 
unformat UNIX
unformat lf
unformat st '**
]
unformat st x'0509'
unformat utf
unformat utf,*