Zum Inhalt springen

„Extended Binary Coded Decimal Interchange Code“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Variantenübergreifendes Grundgerüst eingeführt, dann erst die diversen Codepages. Mit Bild belegt, dass es von der Lochkartenstruktur herrührt. Konsequenzen aufgelistet. Kaptelstruktur geändert (vorher gab es keine Subkapitel)
Zeile 1: Zeile 1:
Der '''Extended Binary Coded Decimal Interchange Code''' ('''EBCDIC''', sinngemäß „erweiterter Austauschcode für binär kodierte Dezimalziffern“) ist eine von [[IBM]] entwickelte 8-Bit-[[Zeichenkodierung]], bei der jedoch nicht alle [[Datenwort|Codewörter]] verwendet werden. Der EBCDIC ist aus dem älteren ''[[Binary Coded Decimal Interchange Code]]'' ([[BCDIC]]) entstanden, der wiederum auf dem 4-Bit-Code [[BCD-Code|BCD]] (''Binary Coded Decimal'') basiert.
Der '''Extended Binary Coded Decimal Interchange Code''' ('''EBCDIC''', sinngemäß „erweiterter Austauschcode für binär kodierte Dezimalziffern“) ist eine von [[IBM]] entwickelte 8-Bit-[[Zeichenkodierung]], bei der jedoch nicht alle [[Datenwort|Codewörter]] verwendet werden. Der EBCDIC ist aus dem älteren ''[[Binary Coded Decimal Interchange Code]]'' ([[BCDIC]]) entstanden, der wiederum auf dem 4-Bit-Code [[BCD-Code|BCD]] (''Binary Coded Decimal'') basiert.


EBCDIC wird fast ausschließlich auf [[Großrechner]]n verwendet. Trotz seines Alters wird die Kodierung auch noch in heutigen Systemen genutzt, beispielsweise im 2001 veröffentlichten [[z/OS]]<ref>''[https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set The EBCDIC character set]''. ibm.com, abgerufen am 26. Oktober 2021</ref>. Die EBCDIC-[[Codepage]] gibt es in diversen Varianten mit und ohne [[Eurozeichen]]. Erkennbar ist der historische Zusammenhang mit der 80-Zeichen-[[Lochkarte#Lochkartencodierung|Lochkartenkodierung]] von IBM, bei der die Buchstaben A–I, J–R und S–Z die Positionen 1 bis 9 bzw. 2 bis 9 in der numerischen Zone benutzen. Eine Konsequenz daraus ist, dass – im Gegensatz zum [[American Standard Code for Information Interchange|ASCII-Zeichensatz]] – die Buchstaben A–Z nicht lückenlos aufeinander folgen, was die alphabetische Sortierung komplizierter macht.
EBCDIC wird fast ausschließlich auf [[Großrechner]]n verwendet. Trotz seines Alters wird die Kodierung auch noch in heutigen Systemen genutzt, beispielsweise im 2001 veröffentlichten [[z/OS]]<ref>''[https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set The EBCDIC character set]''. ibm.com, abgerufen am 26. Oktober 2021</ref>.


Ähnlich wie das [[Unicode Transformation Format]] [[UTF-8]] eine [[Kodierung]] von [[Unicode]] unter Beibehaltung der Kodierung des [[ASCII]]-Zeichensatzes darstellt, gibt es eine Unicode-Kodierung, die auf EBCDIC aufbaut. Dieses Format heißt [[Unicode Transformation Format#UTF-EBCDIC|UTF-EBCDIC]].
Ähnlich wie das [[Unicode Transformation Format]] [[UTF-8]] eine [[Kodierung]] von [[Unicode]] unter Beibehaltung der Kodierung des [[ASCII]]-Zeichensatzes darstellt, gibt es eine Unicode-Kodierung, die auf EBCDIC aufbaut. Dieses Format heißt [[Unicode Transformation Format#UTF-EBCDIC|UTF-EBCDIC]].


== Aufbau der Codepage ==
== Übersicht: EBCDIC-Codepages mit Latin-1-Zeichensatz ==

Die EBCDIC-[[Codepage]] besteht aus 8&nbsp;Bits, also 2<sup>8</sup>&nbsp;=&nbsp;256 möglichen Kombinationen. Diese Zahl reicht nicht aus, um für Sprachen mit lateinischem Alphabet die Sonderzeichen darzustellen, darum gibt es – ähnlich wie beim [[American Standard Code for Information Interchange|ASCII-Zeichensatz]] / [[ISO 8859]] verschiedene Varianten. Wie bei ISO&nbsp;8859 gibt es ein Grundgerüst von Zeichen, insbesondere die Buchstaben A–Z und a–z sowie die Ziffern, die in allen Codepages gleich sind. Hinzu kommen die ersten 64 Zeichen, die [[Steuerzeichen]] sind.

=== In allen Varianten gleiche Zeichen ===

[[Datei:Blue-punch-card-front-horiz top-char-contrast-stretched.png|thumb|upright=1.888|[[Lochkarte]] mit den Zeichen, die in allen EBCDIC-Varianten verfügbar sind. Man sieht, dass sich die EBCDIC-Codierung der Buchstaben und Ziffern von der Lochkartencodierung ableitet.]]

Erkennbar ist der historische Zusammenhang mit der 80-Zeichen-[[Lochkarte#Lochkartencodierung|Lochkartenkodierung]] von IBM, bei der die Buchstaben A–I, J–R und S–Z die Positionen 1 bis 9 bzw. 2 bis 9 in der numerischen Zone benutzen.

Aus dieser historisch gewachsenen Struktur ergeben sich einige Schwierigkeiten:
* Die Buchstaben A–Z und a–z folgen nicht lückenlos aufeinander. Dies erschwert in der Programmierung die Identifikation von Zeichen (um zu prüfen, ob ein Zeichen ''c'' ein Großbuchstabe ist, reicht nicht die Prüfung "A"&nbsp;≤&nbsp;''c''&nbsp;≤"Z") und die Sortierung.
* Im Gegensatz zu ASCII stehen in EBCDIC die Kleinbuchstaben vor den Großbuchstaben.
* Wichtige Zeichen, die in modernen Programmiersprachen benötigt werden, fehlen. Zum Beispiel "{" und "}".
* Während in den ASCII-Codepages der Bereich der ersten 7&nbsp;Bits (00<sub>hex</sub> – 7F<sub>hex</sub>) und nur dieser für alle Varianten gleich ist, ist für EBCDIC der gemeinsame Bereich unregelmäßig über die 256 Zeichen verstreut.

{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
|+ style="font-family:sans-serif;"| gemeinsame Zeichen in allen Varianten
|-
! || …0 || …1 || …2 || …3 || …4 || …5 || …6 || …7 || …8 || …9 || …A || …B || …C || …D || …E || …F
|
|-
! 4…
| SP || || || || || || || || || || || . || < || ( || + ||
! 4… (4<sub>hex</sub> = 0100<sub>bin</sub>)
|-
! 5…
| & || || || || || || || || || || || || * || ) || ; ||
! 5… (5<sub>hex</sub> = 0101<sub>bin</sub>)
|-
! 6…
| - || / || || || || || || || || || || , || % || _ || > || ?
! 6… (6<sub>hex</sub> = 0110<sub>bin</sub>)
|-
! 7…
| || || || || || || || || || || : || || || ' || = || "
! 7… (7<sub>hex</sub> = 0111<sub>bin</sub>)
|-
! 8…
| || a || b || c || d || e || f || g
| h || i || || || || || ||
! 8… (8<sub>hex</sub> = 1000<sub>bin</sub>)
|-
! 9…
| || j || k || l || m || n || o || p
| q || r || || || || || ||
! 9… (9<sub>hex</sub> = 1001<sub>bin</sub>)
|-
! A…
| || || s || t || u || v || w || x
| y || z || || || || || ||
! A… (A<sub>hex</sub> = 1010<sub>bin</sub>)
|-
! B…
| || || || || || || || || || || || || || || ||
! B… (B<sub>hex</sub> = 1011<sub>bin</sub>)
|-
! C…
| || A || B || C || D || E || F || G
| H || I || || || || || ||
! C… (C<sub>hex</sub> = 1100<sub>bin</sub>)
|-
! D…
| || J || K || L || M || N || O || P
| Q || R || || || || || ||
! D… (D<sub>hex</sub> = 1101<sub>bin</sub>)
|-
! E…
| || || S || T || U || V || W || X
| Y || Z || || || || || ||
! E… (E<sub>hex</sub> = 1110<sub>bin</sub>)
|-
! F…
| 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7
| 8 || 9 || || || || || || EO
! F… (F<sub>hex</sub> = 1111<sub>bin</sub>)
|-
! || …0 || …1 || …2 || …3 || …4 || …5 || …6 || …7 || …8 || …9 || …A || …B || …C || …D || …E || …F
|
|}
* SP (40<sub>hex</sub>): Leerzeichen
* EO (FF<sub>hex</sub>): spezielles Steuerzeichen

=== Steuerzeichen ===
Die ersten 64 Zeichen von 00<sub>hex</sub> bis 3F<sub>hex</sub> definieren [[Steuerzeichen]] und sind für alle EBCDIC-Codepages identisch.<ref name="cdra">''Appendix G: Control Character Mappings.'' In: ''Character Data Representation Architecture Reference.'' IBM ([https://www.ibm.com/downloads/cas/G01BQVRV ibm.com] PDF, S. 311).</ref>

{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
|+ style="font-family:sans-serif;"| Steuerzeichen
|-
! || …0 || …1 || …2 || …3 || …4 || …5 || …6 || …7 || …8 || …9 || …A || …B || …C || …D || …E || …F
|
|-
! 0…
| [[Nullzeichen|NUL]] || SOH || STX || ETX || SEL || HT || RNL || DEL
| GE || SPS || RPT || VT || FF || CR || SO || SI
! 0… (0<sub>hex</sub> = 0000<sub>2</sub>)
|-
! 1…
| DLE || DC1 || DC2 || DC3 || RES<br />ENP || NL || BS || POC
| CAN || EM || UBS || CU1 || IFS || IGS || IRS || IUS<br />ITB
! 1… (1<sub>hex</sub> = 0001<sub>2</sub>)
|-
! 2…
| DS || SOS || FS || WUS || BYP<br />INP || LF || ETB || ESC
| SA || SFE || SM<br />SW || CSP || MFA || ENQ || [[ACK (Signal)|ACK]] || [[Bell (Steuerzeichen)|BEL]]
! 2… (2<sub>hex</sub> = 0010<sub>2</sub>)
|-
! 3…
| || || SYN || IR || PP || TRN || NBS || EOT
| SBS || IT || RFF || CU3 || DC4 || NAK || || SUB
! 3… (3<sub>hex</sub> = 0011<sub>2</sub>)
|-
! || …0 || …1 || …2 || …3 || …4 || …5 || …6 || …7 || …8 || …9 || …A || …B || …C || …D || …E || …F
|
|}

Einige Steuerzeichen haben ihre Bedeutung seit den frühen Versionen von EBCDIC geändert.
* 04<sub>hex</sub> war in der ersten EBCDIC-Version von 1964 mit einem Zeichen namens <code>PF</code> (''Punch Off'', „Lochung aus“) belegt.,<ref name="winter">{{Internetquelle |autor=Dik T. Winter |url=http://homepages.cwi.nl/~dik/english/codes/stand.html#ebcdic |titel=Standards on Codes |abruf=2007-08-13 |archiv-url=https://web.archive.org/web/20070616201227/http://homepages.cwi.nl/~dik/english/codes/stand.html#ebcdic |archiv-datum=2007-06-16 |offline=1}}</ref> später wurde daraus <code>ST</code> (''String Terminator'', „Ende der Zeichenkette“)<ref name="winter" />, und heute (2007) ist es mit <code>SEL</code> (''Select'', „auswählen“) belegt<ref name="cdra" />, für das im [[ASCII]]-Code keine Entsprechung existiert.
* 06<sub>hex</sub> ist heute (2007) mit <code>RNL</code> (''Required New Line'', „benötigt neue Zeile“) belegt. Ursprünglich war es mit <code>LC</code> (''Lower Case'', „Kleinbuchstaben“) belegt und zwischenzeitlich auch mit <code>SSA</code> (''System Status Available'', „Systemstatus verfügbar“).
* 08<sub>hex</sub> ist heute mit <code>GE</code> (''Graphic Escape'', „Umschalten in den Grafikmodus“) belegt. Ursprünglich war es mit <code>EPA</code> (''End of Protected Area'', „Ende des geschützten Bereichs“) belegt.
* 09<sub>hex</sub> ist heute mit <code>SPS</code> (''Superscript'', „Hochstellung“) belegt. Ursprünglich war es mit <code>RLF</code> (''Reverse Line Feed'', „umgekehrter Zeilenvorschub“) belegt.
* 0A<sub>hex</sub> ist heute mit <code>RPT</code> (''Repeat'', „Wiederholen“) belegt. Ursprünglich war es mit <code>SMM</code> (''Start of Manual Message'', „Beginn einer händischen Mitteilung“) belegt.
* 13<sub>hex</sub> ist heute mit <code>DC3</code> (''Device Control 3'', „Gerätekontrollkode 3“) belegt. Ursprünglich war es mit <code>TM</code> (''Top Margin'', „oberer Rand“) belegt.
* 14<sub>hex</sub> ist heute mit „RES/ENP“ (''Restore/Enable Presentation'', „Darstellung wiederherstellen/aktivieren“) belegt. Zwischenzeitlich war es auch <code>OSC</code> für ''Operating System Command'' („Betriebssystembefehl“) belegt.
* 17<sub>hex</sub> ist heute mit <code>POC</code> (''Program-Operator Communication'', „Kommunikation mit Programmbediener“) belegt. Ursprünglich war es <code>IL</code> (''Idle'', „Leerlauf“) und zwischenzeitlich auch mit <code>ESA</code> (''End Selected Area'', „Ende des ausgewählten Bereichs“) belegt.
* 1A<sub>hex</sub> ist heute mit <code>UBS</code> (''Unit backspace'', „eine Einheit zurück“) belegt. Ursprünglich war es mit <code>CC</code> (''Cursor Control'', „Steuerung der Schreibmarke“) belegt.

Die Abkürzung <code>CU1</code> steht für „Customer Use“, also ein frei nutzbares Steuerzeichen.

Die Steuerzeichen <code>IFS</code> (''Interchange File Separator''), <code>IGS</code> (''Interchange Group Separator''), <code>IRS</code> (''Interchange Record Separator'') und <code>IUS</code> (''Interchange Unit Separator'') sind Trennzeichen, die den ASCII-Steuerzeichen <code>FS</code>, <code>GS</code>, <code>RS</code> und <code>US</code> entsprechen. <code>ITB</code> (''Intermediate Transmission Block'', „dazwischen liegender Sendeblock“) ist ein anderer Name für IUS.

== Varianten ==
=== Übersicht der EBCDIC-Codepages mit Latin-1-Zeichensatz===
{| class="wikitable"
{| class="wikitable"
|+Übersicht: EBCDIC-Codepages mit Latin-1-Zeichensatz
|+Übersicht: EBCDIC-Codepages mit Latin-1-Zeichensatz
Zeile 35: Zeile 167:
|}
|}


== EBCDIC 037 ==
=== EBCDIC 037 ===
'''EBCDIC 037''' ist eine Variante des EBCDIC-Codes. Er wird (praktisch ausschließlich auf IBM-Großrechnern) zur Darstellung des Zeichensatzes der englischen und portugiesischen Sprachen verwendet.
'''EBCDIC 037''' ist eine Variante des EBCDIC-Codes. Er wird (praktisch ausschließlich auf IBM-Großrechnern) zur Darstellung des Zeichensatzes der englischen und portugiesischen Sprachen verwendet.
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
Zeile 111: Zeile 243:
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)


== EBCDIC 273 ==
=== EBCDIC 273 ===
'''EBCDIC 273''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des Zeichensatzes der deutschen Sprache verwendet, praktisch ausschließlich auf IBM-Großrechnern.
'''EBCDIC 273''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des Zeichensatzes der deutschen Sprache verwendet, praktisch ausschließlich auf IBM-Großrechnern.
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
Zeile 187: Zeile 319:
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)


== EBCDIC 500 ==
=== EBCDIC 500 ===
'''EBCDIC 500''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des internationalen Zeichensatzes verwendet, praktisch ausschließlich auf IBM-Großrechnern.
'''EBCDIC 500''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des internationalen Zeichensatzes verwendet, praktisch ausschließlich auf IBM-Großrechnern.
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
Zeile 263: Zeile 395:
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)


== EBCDIC 1140 ==
=== EBCDIC 1140 ===
'''EBCDIC 1140''' ist eine Variante des EBCDIC-Codes. Er wird (praktisch ausschließlich auf IBM-Großrechnern) zur Darstellung des Zeichensatzes der englischen und portugiesischen Sprachen verwendet. Sie entspricht der Codepage [[EBCDIC#EBCDIC 037|037]] und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.
'''EBCDIC 1140''' ist eine Variante des EBCDIC-Codes. Er wird (praktisch ausschließlich auf IBM-Großrechnern) zur Darstellung des Zeichensatzes der englischen und portugiesischen Sprachen verwendet. Sie entspricht der Codepage [[EBCDIC#EBCDIC 037|037]] und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.


Zeile 340: Zeile 472:
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)


== EBCDIC 1141 ==
=== EBCDIC 1141 ===
'''EBCDIC 1141''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des Zeichensatzes der deutschen Sprache verwendet, praktisch ausschließlich auf IBM-Großrechnern. Sie entspricht der Codepage [[#EBCDIC 273|273]] und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.
'''EBCDIC 1141''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des Zeichensatzes der deutschen Sprache verwendet, praktisch ausschließlich auf IBM-Großrechnern. Sie entspricht der Codepage [[#EBCDIC 273|273]] und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.


Zeile 417: Zeile 549:
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)
* FF<sub>hex</sub>: Steuerzeichen (EBCDIC)


== EBCDIC 1148 ==
=== EBCDIC 1148 ===
'''EBCDIC 1148''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des internationalen Zeichensatzes verwendet, praktisch ausschließlich auf IBM-Großrechnern. Sie entspricht der Codepage [[#EBCDIC 500|500]] und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.
'''EBCDIC 1148''' ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des internationalen Zeichensatzes verwendet, praktisch ausschließlich auf IBM-Großrechnern. Sie entspricht der Codepage [[#EBCDIC 500|500]] und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
Zeile 493: Zeile 625:
* FF<sub>hex</sub>: [[Steuerzeichen]] (EBCDIC)
* FF<sub>hex</sub>: [[Steuerzeichen]] (EBCDIC)


== EBCDIC-Variante EBCDIC.DF.03-DRV (CCSN:EDF03DRV) ==
=== EBCDIC-Variante EBCDIC.DF.03-DRV (CCSN:EDF03DRV) ===
'''EBCDIC.DF.03-DRV''' oder '''CCSN:EDF03DRV''' ist eine Variante des EBCDIC-Codes, die auf Fujitsu-Großrechnern unter dem Betriebssystem BS2000/OSD zur Darstellung des deutschen Zeichensatzes verwendet wird. Diese Variante weicht speziell bei der Definition der deutschen Umlaute von anderen EBCDIC-Varianten ab.
'''EBCDIC.DF.03-DRV''' oder '''CCSN:EDF03DRV''' ist eine Variante des EBCDIC-Codes, die auf Fujitsu-Großrechnern unter dem Betriebssystem BS2000/OSD zur Darstellung des deutschen Zeichensatzes verwendet wird. Diese Variante weicht speziell bei der Definition der deutschen Umlaute von anderen EBCDIC-Varianten ab.
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
Zeile 576: Zeile 708:
Die Darstellung wird am BS2000/OSD ausschließlich durch die verwendete Hardware bzw. durch die verwendeten Schriften unterschieden.
Die Darstellung wird am BS2000/OSD ausschließlich durch die verwendete Hardware bzw. durch die verwendeten Schriften unterschieden.


== Steuerzeichen ==
== Anekdotisches ==
Die ersten 64 Zeichen von 00<sub>hex</sub> bis 3F<sub>hex</sub> definieren [[Steuerzeichen]] und sind für alle EBCDIC-Codepages identisch.<ref name="cdra">''Appendix G: Control Character Mappings.'' In: ''Character Data Representation Architecture Reference.'' IBM ([https://www.ibm.com/downloads/cas/G01BQVRV ibm.com] PDF, S. 311).</ref>

{| class="wikitable" style="text-align:center;font-family:monospace, monospace;"
|+ style="font-family:sans-serif;"| Codepage 500<br />Belgien, Kanada, Schweiz, International
|-
! || …0 || …1 || …2 || …3 || …4 || …5 || …6 || …7 || …8 || …9 || …A || …B || …C || …D || …E || …F
|
|-
! 0…
| [[Nullzeichen|NUL]] || SOH || STX || ETX || SEL || HT || RNL || DEL
| GE || SPS || RPT || VT || FF || CR || SO || SI
! 0… (0<sub>hex</sub> = 0000<sub>2</sub>)
|-
! 1…
| DLE || DC1 || DC2 || DC3 || RES<br />ENP || NL || BS || POC
| CAN || EM || UBS || CU1 || IFS || IGS || IRS || IUS<br />ITB
! 1… (1<sub>hex</sub> = 0001<sub>2</sub>)
|-
! 2…
| DS || SOS || FS || WUS || BYP<br />INP || LF || ETB || ESC
| SA || SFE || SM<br />SW || CSP || MFA || ENQ || [[ACK (Signal)|ACK]] || [[Bell (Steuerzeichen)|BEL]]
! 2… (2<sub>hex</sub> = 0010<sub>2</sub>)
|-
! 3…
| || || SYN || IR || PP || TRN || NBS || EOT
| SBS || IT || RFF || CU3 || DC4 || NAK || || SUB
! 3… (3<sub>hex</sub> = 0011<sub>2</sub>)
|-
! || …0 || …1 || …2 || …3 || …4 || …5 || …6 || …7 || …8 || …9 || …A || …B || …C || …D || …E || …F
|
|}

Einige Steuerzeichen haben ihre Bedeutung seit den frühen Versionen von EBCDIC geändert.
* 04<sub>hex</sub> war in der ersten EBCDIC-Version von 1964 mit einem Zeichen namens <code>PF</code> (''Punch Off'', „Lochung aus“) belegt.,<ref name="winter">{{Internetquelle |autor=Dik T. Winter |url=http://homepages.cwi.nl/~dik/english/codes/stand.html#ebcdic |titel=Standards on Codes |abruf=2007-08-13 |archiv-url=https://web.archive.org/web/20070616201227/http://homepages.cwi.nl/~dik/english/codes/stand.html#ebcdic |archiv-datum=2007-06-16 |offline=1}}</ref> später wurde daraus <code>ST</code> (''String Terminator'', „Ende der Zeichenkette“)<ref name="winter" />, und heute (2007) ist es mit <code>SEL</code> (''Select'', „auswählen“) belegt<ref name="cdra" />, für das im [[ASCII]]-Code keine Entsprechung existiert.
* 06<sub>hex</sub> ist heute (2007) mit <code>RNL</code> (''Required New Line'', „benötigt neue Zeile“) belegt. Ursprünglich war es mit <code>LC</code> (''Lower Case'', „Kleinbuchstaben“) belegt und zwischenzeitlich auch mit <code>SSA</code> (''System Status Available'', „Systemstatus verfügbar“).
* 08<sub>hex</sub> ist heute mit <code>GE</code> (''Graphic Escape'', „Umschalten in den Grafikmodus“) belegt. Ursprünglich war es mit <code>EPA</code> (''End of Protected Area'', „Ende des geschützten Bereichs“) belegt.
* 09<sub>hex</sub> ist heute mit <code>SPS</code> (''Superscript'', „Hochstellung“) belegt. Ursprünglich war es mit <code>RLF</code> (''Reverse Line Feed'', „umgekehrter Zeilenvorschub“) belegt.
* 0A<sub>hex</sub> ist heute mit <code>RPT</code> (''Repeat'', „Wiederholen“) belegt. Ursprünglich war es mit <code>SMM</code> (''Start of Manual Message'', „Beginn einer händischen Mitteilung“) belegt.
* 13<sub>hex</sub> ist heute mit <code>DC3</code> (''Device Control 3'', „Gerätekontrollkode 3“) belegt. Ursprünglich war es mit <code>TM</code> (''Top Margin'', „oberer Rand“) belegt.
* 14<sub>hex</sub> ist heute mit „RES/ENP“ (''Restore/Enable Presentation'', „Darstellung wiederherstellen/aktivieren“) belegt. Zwischenzeitlich war es auch <code>OSC</code> für ''Operating System Command'' („Betriebssystembefehl“) belegt.
* 17<sub>hex</sub> ist heute mit <code>POC</code> (''Program-Operator Communication'', „Kommunikation mit Programmbediener“) belegt. Ursprünglich war es <code>IL</code> (''Idle'', „Leerlauf“) und zwischenzeitlich auch mit <code>ESA</code> (''End Selected Area'', „Ende des ausgewählten Bereichs“) belegt.
* 1A<sub>hex</sub> ist heute mit <code>UBS</code> (''Unit backspace'', „eine Einheit zurück“) belegt. Ursprünglich war es mit <code>CC</code> (''Cursor Control'', „Steuerung der Schreibmarke“) belegt.

Die Abkürzung <code>CU1</code> steht für „Customer Use“, also ein frei nutzbares Steuerzeichen.

Die Steuerzeichen <code>IFS</code> (''Interchange File Separator''), <code>IGS</code> (''Interchange Group Separator''), <code>IRS</code> (''Interchange Record Separator'') und <code>IUS</code> (''Interchange Unit Separator'') sind Trennzeichen, die den ASCII-Steuerzeichen <code>FS</code>, <code>GS</code>, <code>RS</code> und <code>US</code> entsprechen. <code>ITB</code> (''Intermediate Transmission Block'', „dazwischen liegender Sendeblock“) ist ein anderer Name für IUS.

== Recht auf korrekte Schreibweise ==
2021 bestand ein Bankkunde auf der korrekten Schreibweise seines Nachnamens inkl. [[Akut]]zeichen "[[é]]". Das Gericht gab der Klage statt, auf Basis der Europäischen [[Datenschutzgrundverordnung]], Artikel 16 "Recht auf Berichtigung". Die belgische Bank argumentierte vergeblich, dass ihr 1995 eingeführtes System zur Verwaltung der Kundendaten die Zeichenkodierung EBCDIC verwende, die dieses Zeichen nicht unterstütze.<ref>https://www.gegevensbeschermingsautoriteit.be/publications/arrest-van-9-oktober-2019-van-het-marktenhof.pdf</ref>
2021 bestand ein Bankkunde auf der korrekten Schreibweise seines Nachnamens inkl. [[Akut]]zeichen "[[é]]". Das Gericht gab der Klage statt, auf Basis der Europäischen [[Datenschutzgrundverordnung]], Artikel 16 "Recht auf Berichtigung". Die belgische Bank argumentierte vergeblich, dass ihr 1995 eingeführtes System zur Verwaltung der Kundendaten die Zeichenkodierung EBCDIC verwende, die dieses Zeichen nicht unterstütze.<ref>https://www.gegevensbeschermingsautoriteit.be/publications/arrest-van-9-oktober-2019-van-het-marktenhof.pdf</ref>


Zeile 634: Zeile 718:
== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />



[[Kategorie:Zeichenkodierung]]
[[Kategorie:Zeichenkodierung]]

Version vom 25. Oktober 2023, 13:25 Uhr

Der Extended Binary Coded Decimal Interchange Code (EBCDIC, sinngemäß „erweiterter Austauschcode für binär kodierte Dezimalziffern“) ist eine von IBM entwickelte 8-Bit-Zeichenkodierung, bei der jedoch nicht alle Codewörter verwendet werden. Der EBCDIC ist aus dem älteren Binary Coded Decimal Interchange Code (BCDIC) entstanden, der wiederum auf dem 4-Bit-Code BCD (Binary Coded Decimal) basiert.

EBCDIC wird fast ausschließlich auf Großrechnern verwendet. Trotz seines Alters wird die Kodierung auch noch in heutigen Systemen genutzt, beispielsweise im 2001 veröffentlichten z/OS[1].

Ähnlich wie das Unicode Transformation Format UTF-8 eine Kodierung von Unicode unter Beibehaltung der Kodierung des ASCII-Zeichensatzes darstellt, gibt es eine Unicode-Kodierung, die auf EBCDIC aufbaut. Dieses Format heißt UTF-EBCDIC.

Aufbau der Codepage

Die EBCDIC-Codepage besteht aus 8 Bits, also 28 = 256 möglichen Kombinationen. Diese Zahl reicht nicht aus, um für Sprachen mit lateinischem Alphabet die Sonderzeichen darzustellen, darum gibt es – ähnlich wie beim ASCII-Zeichensatz / ISO 8859 verschiedene Varianten. Wie bei ISO 8859 gibt es ein Grundgerüst von Zeichen, insbesondere die Buchstaben A–Z und a–z sowie die Ziffern, die in allen Codepages gleich sind. Hinzu kommen die ersten 64 Zeichen, die Steuerzeichen sind.

In allen Varianten gleiche Zeichen

Lochkarte mit den Zeichen, die in allen EBCDIC-Varianten verfügbar sind. Man sieht, dass sich die EBCDIC-Codierung der Buchstaben und Ziffern von der Lochkartencodierung ableitet.

Erkennbar ist der historische Zusammenhang mit der 80-Zeichen-Lochkartenkodierung von IBM, bei der die Buchstaben A–I, J–R und S–Z die Positionen 1 bis 9 bzw. 2 bis 9 in der numerischen Zone benutzen.

Aus dieser historisch gewachsenen Struktur ergeben sich einige Schwierigkeiten:

  • Die Buchstaben A–Z und a–z folgen nicht lückenlos aufeinander. Dies erschwert in der Programmierung die Identifikation von Zeichen (um zu prüfen, ob ein Zeichen c ein Großbuchstabe ist, reicht nicht die Prüfung "A" ≤ c ≤"Z") und die Sortierung.
  • Im Gegensatz zu ASCII stehen in EBCDIC die Kleinbuchstaben vor den Großbuchstaben.
  • Wichtige Zeichen, die in modernen Programmiersprachen benötigt werden, fehlen. Zum Beispiel "{" und "}".
  • Während in den ASCII-Codepages der Bereich der ersten 7 Bits (00hex – 7Fhex) und nur dieser für alle Varianten gleich ist, ist für EBCDIC der gemeinsame Bereich unregelmäßig über die 256 Zeichen verstreut.
gemeinsame Zeichen in allen Varianten
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… SP . < ( + 4… (4hex = 0100bin)
5… & * ) ; 5… (5hex = 0101bin)
6… - / , % _ > ? 6… (6hex = 0110bin)
7… : ' = " 7… (7hex = 0111bin)
8… a b c d e f g h i 8… (8hex = 1000bin)
9… j k l m n o p q r 9… (9hex = 1001bin)
A… s t u v w x y z A… (Ahex = 1010bin)
B… B… (Bhex = 1011bin)
C… A B C D E F G H I C… (Chex = 1100bin)
D… J K L M N O P Q R D… (Dhex = 1101bin)
E… S T U V W X Y Z E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 EO F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  • SP (40hex): Leerzeichen
  • EO (FFhex): spezielles Steuerzeichen

Steuerzeichen

Die ersten 64 Zeichen von 00hex bis 3Fhex definieren Steuerzeichen und sind für alle EBCDIC-Codepages identisch.[2]

Steuerzeichen
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
0… NUL SOH STX ETX SEL HT RNL DEL GE SPS RPT VT FF CR SO SI 0… (0hex = 00002)
1… DLE DC1 DC2 DC3 RES
ENP
NL BS POC CAN EM UBS CU1 IFS IGS IRS IUS
ITB
1… (1hex = 00012)
2… DS SOS FS WUS BYP
INP
LF ETB ESC SA SFE SM
SW
CSP MFA ENQ ACK BEL 2… (2hex = 00102)
3… SYN IR PP TRN NBS EOT SBS IT RFF CU3 DC4 NAK SUB 3… (3hex = 00112)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F

Einige Steuerzeichen haben ihre Bedeutung seit den frühen Versionen von EBCDIC geändert.

  • 04hex war in der ersten EBCDIC-Version von 1964 mit einem Zeichen namens PF (Punch Off, „Lochung aus“) belegt.,[3] später wurde daraus ST (String Terminator, „Ende der Zeichenkette“)[3], und heute (2007) ist es mit SEL (Select, „auswählen“) belegt[2], für das im ASCII-Code keine Entsprechung existiert.
  • 06hex ist heute (2007) mit RNL (Required New Line, „benötigt neue Zeile“) belegt. Ursprünglich war es mit LC (Lower Case, „Kleinbuchstaben“) belegt und zwischenzeitlich auch mit SSA (System Status Available, „Systemstatus verfügbar“).
  • 08hex ist heute mit GE (Graphic Escape, „Umschalten in den Grafikmodus“) belegt. Ursprünglich war es mit EPA (End of Protected Area, „Ende des geschützten Bereichs“) belegt.
  • 09hex ist heute mit SPS (Superscript, „Hochstellung“) belegt. Ursprünglich war es mit RLF (Reverse Line Feed, „umgekehrter Zeilenvorschub“) belegt.
  • 0Ahex ist heute mit RPT (Repeat, „Wiederholen“) belegt. Ursprünglich war es mit SMM (Start of Manual Message, „Beginn einer händischen Mitteilung“) belegt.
  • 13hex ist heute mit DC3 (Device Control 3, „Gerätekontrollkode 3“) belegt. Ursprünglich war es mit TM (Top Margin, „oberer Rand“) belegt.
  • 14hex ist heute mit „RES/ENP“ (Restore/Enable Presentation, „Darstellung wiederherstellen/aktivieren“) belegt. Zwischenzeitlich war es auch OSC für Operating System Command („Betriebssystembefehl“) belegt.
  • 17hex ist heute mit POC (Program-Operator Communication, „Kommunikation mit Programmbediener“) belegt. Ursprünglich war es IL (Idle, „Leerlauf“) und zwischenzeitlich auch mit ESA (End Selected Area, „Ende des ausgewählten Bereichs“) belegt.
  • 1Ahex ist heute mit UBS (Unit backspace, „eine Einheit zurück“) belegt. Ursprünglich war es mit CC (Cursor Control, „Steuerung der Schreibmarke“) belegt.

Die Abkürzung CU1 steht für „Customer Use“, also ein frei nutzbares Steuerzeichen.

Die Steuerzeichen IFS (Interchange File Separator), IGS (Interchange Group Separator), IRS (Interchange Record Separator) und IUS (Interchange Unit Separator) sind Trennzeichen, die den ASCII-Steuerzeichen FS, GS, RS und US entsprechen. ITB (Intermediate Transmission Block, „dazwischen liegender Sendeblock“) ist ein anderer Name für IUS.

Varianten

Übersicht der EBCDIC-Codepages mit Latin-1-Zeichensatz

Übersicht: EBCDIC-Codepages mit Latin-1-Zeichensatz
Codepage Codepage
mit €-Zeichen
Länder
037 1140 Australien, Brasilien, Kanada, Neuseeland, Portugal, Südafrika, USA
273 1141 Deutschland, Österreich
277 1142 Dänemark, Norwegen
278 1143 Finnland, Schweden
280 1144 Italien
284 1145 Lateinamerika, Spanien
285 1146 Großbritannien und Nordirland, Irland
297 1147 Frankreich
500 1148 Belgien, Kanada, Schweiz, International
871 1149 Island
1047 Offene Systeme (MVS C-Compiler)
EDF03DRV Deutschland (BS2000/OSD)

EBCDIC 037

EBCDIC 037 ist eine Variante des EBCDIC-Codes. Er wird (praktisch ausschließlich auf IBM-Großrechnern) zur Darstellung des Zeichensatzes der englischen und portugiesischen Sprachen verwendet.

Codepage 037
Australien, Brasilien, Kanada, Neuseeland, Portugal, Südafrika, USA
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… â ä à á ã å ç ñ ¢ . < ( + | 4… (4hex = 0100bin)
5… & é ê ë è í î ï ì ß ! $ * ) ; ¬ 5… (5hex = 0101bin)
6… - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ? 6… (6hex = 0110bin)
7… ø É Ê Ë È Í Î Ï Ì ` : # @ ' = " 7… (7hex = 0111bin)
8… Ø a b c d e f g h i « » ð ý þ ± 8… (8hex = 1000bin)
9… ° j k l m n o p q r ª º æ ¸ Æ ¤ 9… (9hex = 1001bin)
A… µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ® A… (Ahex = 1010bin)
B… ^ £ ¥ · © § ¼ ½ ¾ [ ] ¯ ¨ ´ × B… (Bhex = 1011bin)
C… { A B C D E F G H I ô ö ò ó õ C… (Chex = 1100bin)
D… } J K L M N O P Q R ¹ û ü ù ú ÿ D… (Dhex = 1101bin)
E… \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F

EBCDIC 273

EBCDIC 273 ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des Zeichensatzes der deutschen Sprache verwendet, praktisch ausschließlich auf IBM-Großrechnern.

Codepage 273
Deutschland, Österreich
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… â { à á ã å ç ñ Ä . < ( + ! 4… (4hex = 0100bin)
5… & é ê ë è í î ï ì ~ Ü $ * ) ; ^ 5… (5hex = 0101bin)
6… - / Â [ À Á Ã Å Ç Ñ ö , % _ > ? 6… (6hex = 0110bin)
7… ø É Ê Ë È Í Î Ï Ì ` : # § ' = " 7… (7hex = 0111bin)
8… Ø a b c d e f g h i « » ð ý þ ± 8… (8hex = 1000bin)
9… ° j k l m n o p q r ª º æ ¸ Æ ¤ 9… (9hex = 1001bin)
A… µ ß s t u v w x y z ¡ ¿ Ð Ý Þ ® A… (Ahex = 1010bin)
B… ¢ £ ¥ · © @ ¼ ½ ¾ ¬ | ¯ ¨ ´ × B… (Bhex = 1011bin)
C… ä A B C D E F G H I ô ¦ ò ó õ C… (Chex = 1100bin)
D… ü J K L M N O P Q R ¹ û } ù ú ÿ D… (Dhex = 1101bin)
E… Ö ÷ S T U V W X Y Z ² Ô \ Ò Ó Õ E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 ³ Û ] Ù Ú F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  • 40hex: Leerzeichen
  • 41hex: geschütztes Leerzeichen
  • CAhex: weicher/kurzer Trennstrich
  • FFhex: Steuerzeichen (EBCDIC)

EBCDIC 500

EBCDIC 500 ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des internationalen Zeichensatzes verwendet, praktisch ausschließlich auf IBM-Großrechnern.

Codepage 500
Belgien, Kanada, Schweiz, International
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… â ä à á ã å ç ñ [ . < ( + ! 4… (4hex = 0100bin)
5… & é ê ë è í î ï ì ß ] $ * ) ; ^ 5… (5hex = 0101bin)
6… - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ? 6… (6hex = 0110bin)
7… ø É Ê Ë È Í Î Ï Ì ` : # @ ' = " 7… (7hex = 0111bin)
8… Ø a b c d e f g h i « » ð ý þ ± 8… (8hex = 1000bin)
9… ° j k l m n o p q r ª º æ ¸ Æ ¤ 9… (9hex = 1001bin)
A… µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ® A… (Ahex = 1010bin)
B… ¢ £ ¥ · © § ¼ ½ ¾ ¬ | ¯ ¨ ´ × B… (Bhex = 1011bin)
C… { A B C D E F G H I ô ö ò ó õ C… (Chex = 1100bin)
D… } J K L M N O P Q R ¹ û ü ù ú ÿ D… (Dhex = 1101bin)
E… \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  • 40hex: Leerzeichen
  • 41hex: geschütztes Leerzeichen
  • CAhex: weicher/kurzer Trennstrich
  • FFhex: Steuerzeichen (EBCDIC)

EBCDIC 1140

EBCDIC 1140 ist eine Variante des EBCDIC-Codes. Er wird (praktisch ausschließlich auf IBM-Großrechnern) zur Darstellung des Zeichensatzes der englischen und portugiesischen Sprachen verwendet. Sie entspricht der Codepage 037 und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.

Codepage 1140
Australien, Brasilien, Kanada, Neuseeland, Portugal, Südafrika, USA
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… â ä à á ã å ç ñ ¢ . < ( + | 4… (4hex = 0100bin)
5… & é ê ë è í î ï ì ß ! $ * ) ; ¬ 5… (5hex = 0101bin)
6… - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ? 6… (6hex = 0110bin)
7… ø É Ê Ë È Í Î Ï Ì ` : # @ ' = " 7… (7hex = 0111bin)
8… Ø a b c d e f g h i « » ð ý þ ± 8… (8hex = 1000bin)
9… ° j k l m n o p q r ª º æ ¸ Æ 9… (9hex = 1001bin)
A… µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ® A… (Ahex = 1010bin)
B… ^ £ ¥ · © § ¼ ½ ¾ [ ] ¯ ¨ ´ × B… (Bhex = 1011bin)
C… { A B C D E F G H I ô ö ò ó õ C… (Chex = 1100bin)
D… } J K L M N O P Q R ¹ û ü ù ú ÿ D… (Dhex = 1101bin)
E… \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  • 40hex: Leerzeichen
  • 41hex: geschütztes Leerzeichen
  • CAhex: weicher/kurzer Trennstrich
  • FFhex: Steuerzeichen (EBCDIC)

EBCDIC 1141

EBCDIC 1141 ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des Zeichensatzes der deutschen Sprache verwendet, praktisch ausschließlich auf IBM-Großrechnern. Sie entspricht der Codepage 273 und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.

Codepage 1141
Deutschland, Österreich
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… â { à á ã å ç ñ Ä . < ( + ! 4… (4hex = 0100bin)
5… & é ê ë è í î ï ì ~ Ü $ * ) ; ^ 5… (5hex = 0101bin)
6… - / Â [ À Á Ã Å Ç Ñ ö , % _ > ? 6… (6hex = 0110bin)
7… ø É Ê Ë È Í Î Ï Ì ` : # § ' = " 7… (7hex = 0111bin)
8… Ø a b c d e f g h i « » ð ý þ ± 8… (8hex = 1000bin)
9… ° j k l m n o p q r ª º æ ¸ Æ 9… (9hex = 1001bin)
A… µ ß s t u v w x y z ¡ ¿ Ð Ý Þ ® A… (Ahex = 1010bin)
B… ¢ £ ¥ · © @ ¼ ½ ¾ ¬ | ¯ ¨ ´ × B… (Bhex = 1011bin)
C… ä A B C D E F G H I ô ¦ ò ó õ C… (Chex = 1100bin)
D… ü J K L M N O P Q R ¹ û } ù ú ÿ D… (Dhex = 1101bin)
E… Ö ÷ S T U V W X Y Z ² Ô \ Ò Ó Õ E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 ³ Û ] Ù Ú F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  • 40hex: Leerzeichen
  • 41hex: geschütztes Leerzeichen
  • CAhex: weicher/kurzer Trennstrich
  • FFhex: Steuerzeichen (EBCDIC)

EBCDIC 1148

EBCDIC 1148 ist eine Variante des EBCDIC-Codes. Er wird zur Darstellung des internationalen Zeichensatzes verwendet, praktisch ausschließlich auf IBM-Großrechnern. Sie entspricht der Codepage 500 und unterscheidet sich von ihr nur in der Position 9F, wo sich statt des internationalen Währungssymbols ¤ das Eurozeichen € befindet.

Codepage 1148
Belgien, Kanada, Schweiz, International
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… â ä à á ã å ç ñ [ . < ( + ! 4… (4hex = 0100bin)
5… & é ê ë è í î ï ì ß ] $ * ) ; ^ 5… (5hex = 0101bin)
6… - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ? 6… (6hex = 0110bin)
7… ø É Ê Ë È Í Î Ï Ì ` : # @ ' = " 7… (7hex = 0111bin)
8… Ø a b c d e f g h i « » ð ý þ ± 8… (8hex = 1000bin)
9… ° j k l m n o p q r ª º æ ¸ Æ 9… (9hex = 1001bin)
A… µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ® A… (Ahex = 1010bin)
B… ¢ £ ¥ · © § ¼ ½ ¾ ¬ | ¯ ¨ ´ × B… (Bhex = 1011bin)
C… { A B C D E F G H I ô ö ò ó õ C… (Chex = 1100bin)
D… } J K L M N O P Q R ¹ û ü ù ú ÿ D… (Dhex = 1101bin)
E… \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  • 40hex: Leerzeichen
  • 41hex: geschütztes Leerzeichen
  • CAhex: weicher/kurzer Trennstrich
  • FFhex: Steuerzeichen (EBCDIC)

EBCDIC-Variante EBCDIC.DF.03-DRV (CCSN:EDF03DRV)

EBCDIC.DF.03-DRV oder CCSN:EDF03DRV ist eine Variante des EBCDIC-Codes, die auf Fujitsu-Großrechnern unter dem Betriebssystem BS2000/OSD zur Darstellung des deutschen Zeichensatzes verwendet wird. Diese Variante weicht speziell bei der Definition der deutschen Umlaute von anderen EBCDIC-Varianten ab.

EBCDIC.DF.03-DRV
Deutsch
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
4… ` . < ( + 4… (4hex = 0100bin)
5… & ! $ * ) ; 5… (5hex = 0101bin)
6… - / ^ , % _ > ? 6… (6hex = 0110bin)
7… : # ' = " 7… (7hex = 0111bin)
8… a b c d e f g h i 8… (8hex = 1000bin)
9… j k l m n o p q r 9… (9hex = 1001bin)
A… s t u v w x y z A… (Ahex = 1010bin)
B… B… (Bhex = 1011bin)
C… A B C D E F G H I C… (Chex = 1100bin)
D… J K L M N O P Q R D… (Dhex = 1101bin)
E… S T U V W X Y Z E… (Ehex = 1110bin)
F… 0 1 2 3 4 5 6 7 8 9 F… (Fhex = 1111bin)
…0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  • 40hex: Leerzeichen

Eine weitere Besonderheit in diesem Zeichensatz ist die Doppelbelegung der Zeichen an den Positionen:

  • 4Fhex: | oder ö
  • 7Chex: @ oder §
  • BBhex: [ oder Ä
  • BChex: \ oder Ö
  • BDhex: ] oder Ü
  • FBhex: { oder ä
  • FDhex: } oder ü
  • FFhex: ~ oder ß

Die Darstellung wird am BS2000/OSD ausschließlich durch die verwendete Hardware bzw. durch die verwendeten Schriften unterschieden.

Anekdotisches

2021 bestand ein Bankkunde auf der korrekten Schreibweise seines Nachnamens inkl. Akutzeichen "é". Das Gericht gab der Klage statt, auf Basis der Europäischen Datenschutzgrundverordnung, Artikel 16 "Recht auf Berichtigung". Die belgische Bank argumentierte vergeblich, dass ihr 1995 eingeführtes System zur Verwaltung der Kundendaten die Zeichenkodierung EBCDIC verwende, die dieses Zeichen nicht unterstütze.[4]

Einzelnachweise

  1. The EBCDIC character set. ibm.com, abgerufen am 26. Oktober 2021
  2. a b Appendix G: Control Character Mappings. In: Character Data Representation Architecture Reference. IBM (ibm.com PDF, S. 311).
  3. a b Dik T. Winter: Standards on Codes. Archiviert vom Original (nicht mehr online verfügbar) am 16. Juni 2007; abgerufen am 13. August 2007.
  4. https://www.gegevensbeschermingsautoriteit.be/publications/arrest-van-9-oktober-2019-van-het-marktenhof.pdf