Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

setcode - Zeichensatzumsetzung (CCSN) wechseln

&pagelevel(4)&pagelevel

Mit setcode wird gesteuert, welche Zeichensatzumsetzung der FTP-Client beim Übertragungstyp ascii (siehe type-Kommando) durchführt. Neben der Umsetzung zwischen einem 8-Bit-EBCDIC- und einem 8-Bit-ISO-8859-Zeichensatz (erweiterter ASCII-Zeichensatz) wird mit gewissen Einschränkungen auch Unicode unterstützt. Dabei werden in jedem Fall die Dienste von XHCS genutzt, d.h. es können nur Zeichensätze (CCSN = Coded Character Set Name in XHCS-Sprechweise) angegeben werden, die in XHCS als kompatibel eingetragen sind (siehe Benutzerhandbuch „XHCS“). Bei einer Verbindung zwischen zwei BS2000-Systemen ist darauf zu achten, dass beide Systeme sinnvoll zueinander passende CCSN verwenden, also z.B. die gleichen CCSN-Einstellungen nutzen.

Zum Sprachgebrauch: Mit der Einführung der Unicode-Unterstützung beruht die Umsetzung nicht mehr nur auf Tabellen mit 256 Bytes, die ein Byte des Quell-Zeichensatzes auf eins des Ziel-Zeichensatzes abbilden. Außerdem ist nicht mehr immer ein EBCDIC-Zeichensatz involviert. Daher wird an vielen Stellen des Manuals und der Ausgabe des FTP-Clients oder -Servers "Tabelle" durch "CCSN" ersetzt. Zusätzlich wird "EBCDIC" mit "Host" ergänzt oder ersetzt, um auszudrücken, dass es um den Zeichensatz geht, der für die Speicherung von Daten auf dem Host verwendet wird, auch wenn dies kein EBCDIC-Zeichensatz ist. Entsprechend wird "ISO" mit "Net" ergänzt oder ersetzt, um auszudrücken, dass es um den Zeichensatz geht, mit dem die Daten auf dem Netz kodiert sind, auch wenn dies kein ISO-Zeichensatz, sondern eine Unicode-Codierung ist.

Bei Unicode werden grundsätzlich die Codierungen UTF8, UTF16  (alternativer CCSN: UNICODE) und UTFE unterstützt, wobei es je nach Kontext Einschränkungen gibt. Bei den über das Netz transferierten Daten (Net-CCSN) wird nur UTF8 unterstützt, da nur diese Unicode-Codierung die gleichen Steuerzeichen wie ASCII benutzt und damit kompatibel zum FTP-Standard RFC 959 ist. Bei der Speicherung (Host-CCSN) in BS2000 SAM-Dateien werden alle drei Codierungen UTF8, UTF16/UNICODE und UTFE unterstützt. Bei der Speicherung in POSIX-Dateien wird nur UTFE unterstützt. Es werden nicht alle existierenden Unicode-Zeichen unterstützt, sondern nur die von XHCS-SYS aktuell unterstützten (XHCS-SYS V21.0A unterstützt seit Service Pack 22.2 die DIN SPEC 91379); für nähere und aktuelle Informationen ist die Dokumentation zu XHCS-SYS zurate zu ziehen.

Weitere für Unicode gültige Einschränkungen sind Übertragungsstruktur file, Übertragungsmodus stream und Bearbeitungstyp textbin. Des Weiteren wird kein Restart (reget/reput) unterstützt.

Die aktuell eingestellten CCSN können mit dem Kommando status ermittelt werden.

Man kann den FTP-Client (und auch den BS2000 FTP-Server) anweisen, den verwendeten Host-CCSN den geschriebenen Dateien automatisch als COD-CH-SET-Dateiattribut zuzuweisen. Siehe hierzu die Variable assignCCSNtoFile.


setcode

<Host CCSN> <Net CCSN>


<Host CCSN> <Net CCSN>

Beim Senden (put) einer Datei wandelt der FTP-Client die aus der Datei gelesenen Zeichen von <Host CCSN> nach <Net CCSN> um, beim Empfangen (get) einer Datei werden die Daten von <Net CCSN> nach <Host CCSN> umgewandelt und in die Datei geschrieben. Es ist erlaubt, UTF8 gleichzeitig als <Host CCSN> und <Net CCSN> zu verwenden, d.h. die Daten werden nicht konvertiert, sondern mit UTF8-Codierung aus der Datei gelesen oder in die Datei geschrieben. Die Voreinstellung ist EDF041 als <Host CCSN> und NEW88591 als <Net CCSN>;

ACHTUNG!

Die CCSN dürfen keinesfalls in umgekehrter Reihenfolge eingegeben werden, weil dann falsche Konvertierungen durchgeführt werden und somit keine sinnvolle Dateiübertragung mehr möglich ist.


Beispiele

setcode EDF045 ISO88595

Beim Speichern einer SAM-Datei (get) werden die vom Server gesendeten Daten gemäß Zeichensatz ISO88595 interpretiert (aufgrund vom FTP-Client implizit durchgeführter Modifikationen an den Umsetzungstabellen besteht faktisch kein Unterschied zwischen ISO8859x und NEW8859x) und in den Zeichensatz EDF045 konvertiert, bevor die Daten in eine SAM-Datei geschrieben werden. Analog werden beim Lesen einer SAM-Datei (put) die Daten von EDF045 zu ISO88595 konvertiert und zum FTP-Server geschickt.

setcode UTF16 UTF8

In die SAM-Datei werden Zwei-Byte-Unicode-Zeichen geschrieben bzw. aus ihr gelesen. Beim Austausch mit einem FTP-Server sind die Zeichen UTF8-kodiert.

setcode UTF8 UTF8

Es wird keine Zeichensatzkonvertierung vorgenommen, sondern von bestimmten Steuerzeichen abgesehen werden die Daten Byte-identisch zwischen Datei und Netz transferiert.

setcode UTFE UTF8

In der Datei werden die Zeichen UTFE-codiert gespeichert und UTF8-kodiert über das Netz transferiert. Diese Einstellung ist insbesondere zu verwenden, wenn man Unicode-Daten in einer POSIX-Datei speichern will.


Beim BS2000-FTP-Server ist das Pendant zum setcode-Client-Kommando das proprietäre SITE SETC FTP-Protokoll-Kommando, das vom FTP-Client wie folgt abgesetzt werden kann:

quote SITE SETC <Host CCSN> <Net CCSN>

Bzgl. Unicode gelten beim Server die gleichen Einschränkungen wie beim Client. Mit der folgenden Kommandokombination können Daten zwischen lokalen UTFE- und entfernten UTF16-Dateien ausgetauscht werden:

setcode UTFE UTF8
quote SITE SETC UTF16 UTF8

Prinzipiell ist auch die Verwendung einer Unicode-Codierung zusammen mit einem 8-Bit-EBCDIC- oder ISO-Zeichensatzes möglich. Dies führt allerdings zu Fehlern, wenn die Unicode-Quell-Daten Zeichen enthalten, die im 8-Bit-Ziel-Zeichensatz nicht darstellbar sind. Daher wird davon abgeraten, einen 8-Bit-Ziel-Zeichensatz zusammen mit einer Unicode-Quelle zu verwenden.