Haben Sie diese Referenz überprüft: Verwerfen Sie Ihre Datenkonvertierungsprobleme
Wie verarbeiten Sie die EBCDIC CCSID 65535-Codierung ohne iSeries?
Eine obskure Frage, aber genau die Art, mit der SU-Benutzer vielleicht helfen können.
Ich habe eine Datei von einer iSeries erhalten, die als CCSID 65535 (binär) codiert ist. Dies bedeutet im Wesentlichen, dass sie hexadezimal codiert ist (in EBCDIC). Ich würde gerne wissen, wie dieses Format funktioniert, da es scheinbar willkürlich in die Hex-Kodierung hinein- und herausspringt. Zum Beispiel:
4040404040404040404040F3F040404040404040404040F1 0 04040404040404040404040F8F0F0F3F54040404040F3F4F0404040F3F0F3F8F1F1F7F1F0F8404040404040404040404040404040404040 2009E2D5F9F6F0F0F0F0F0F7 0 04040404040404040404040404040404040404040
Die 40 sind EBCDIC-Leerzeichen, das weiß ich, aber Sie werden sehen, dass der Text auch wörtliche Leerzeichen enthält. Die Übergänge finden an ungeraden und geraden Byte-Grenzen statt. Wenn Sie im ersten Abschnitt mit wörtlichen Leerzeichen "F1 0 040" suchen, sehen Sie eine hexadezimal codierte "1" ("F1"), mehrere wörtliche Leerzeichen, eine wörtliche "0" und einige mehr Leerzeichen, wieder ein Literal '0' und dann ein hexadezimal codiertes Leerzeichen. Wenn ich meine Haare hier risse, scheint es keine Logik zu geben.
Ich vermute, dass das "Wissen" für das Format in der iSeries in einer separaten Definition enthalten ist, aber ich kann keine endgültige Dokumentation im Web finden. Ich hoffe, dass ein Guru hier weiß, wie das alles zusammenpasst. Jede Anleitung dankbar erhalten!
2 Antworten auf die Frage
Die Antwort war, dass die Dateifelddefinition das kritische Element ist. Es gibt keine Möglichkeit, die Datei ohne diese Informationen zu decodieren. Es scheint auch keine .Net-Bibliotheken dafür zu geben, die ich leicht finden kann. Ich denke, die Schwierigkeit besteht darin, dass Sie:
- Umwandlung von EBCDIC in ASCII (oder realistischer ANSI oder UTF-8)
- decodieren Sie die hexadezimal codierten Felder (CCSID 65535) in ihre native EBCDIC und konvertieren Sie diese ebenfalls
- Sie müssen auch die Werte 0E (SI) und 0F (SO) behandeln, die das Doppelbyte-EBCDIC umfassen, und außerdem den entsprechenden Zielzeichensatz (und die Codepage) konvertieren.
Viel zu tun für etwas, das als obskure Anforderung erscheint.
Verwandte Probleme
-
6
Dokumentdateiformat für die universelle Einführung?
-
4
Site mit Liste der beliebtesten Dateiformate
-
4
Videoformate: .3gp in .wmv-Konverter
-
4
Ubuntu Linux: Kann ich standardmäßig Klartext einfügen?
-
2
Bekommen, dass Dingbats in Firefox 3 angezeigt werden?
-
1
wget und cookies.txt - domain.tld vs. .domain.tld
-
3
Welches ist das "universellste" statische Netzdateiformat?
-
4
Mathematische Gleichungsformate
-
1
Speichern von "Bush versteckte die Fakten" im Merkzettel
-
1
Wie kann ich mit * nix-Befehlszeilen-Tools mehrere Dateien in UTF-8-Codierung konvertieren?