Naar inhoud springen

EBCDIC

Uit Wikipedia, de vrije encyclopedie

EBCDIC ("extended binary-coded decimal interchange code") is een 8-bit-standaard om letters en leestekens op te slaan, ontwikkeld in 1963-1964 door IBM voor hun mainframes en AS/400-computers. De code stamt af van het gebruik van ponskaarten en wordt al jaren als verouderd beschouwd; modernere standaarden voor het voorstellen van tekens zijn onder meer ANSI en Unicode.

De 1-byte-versie van EBCDIC gebruikt acht bits, verdeeld in twee gelijke delen van telkens 4 bits. De eerste 4 bits, de zone, stellen de tekencategorie voor; de laatste 4 bits, de digit, duiden het specifieke teken aan. Er bestaat een aantal EBCDIC-versies, aangepast per land, om speciale tekens voor te stellen. Zo gebruik(t)en sommige Aziatische landen een 2-byte-extensie van EBCDIC om alle Oosterse tekens weer te kunnen geven. Zij maken hierbij gebruik van de zogenaamde shift codes [0x0E,0x0F].

IBM identificeerde alle codepages met een nummer, de CCSID (Coded Character Set IDentifier).

De EBCDIC-tekens zijn als volgt (geel: latere toevoegingen):

    0 1 2 3 4 5 6 7   8 9 A B C D E F
00 NUL SOH STX ETX PF HT LC DEL SMM VT FF CR SO SI
10 DLE DC1 DC2 TM RES NL BS IL CAN EM CC CU1 IFS IGS IRS IUS
20 DS SOS FS BYP LF ETB ESC SM CU2 ENQ ACK BEL
30 SYN PN RS UC EOT CU3 DC4 NAK SUB
40   â ä à á ã å ç ñ ¢  [ . < ( + |
50 & é ê ë è í î ï ì ß ] $ * ) ; ~
60 - / Â Ä À Á Ã Å Ç Ñ ¦ , % _ > ?
70 ø É Ê Ë È Í Î Ï Ì ` : # @ ' = "
80 Ø a b c d e f g h i « » ð ý þ ±
90 ° j k l m n o p q r ª º æ ¸ Æ ¤
A0 µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ®
B0 ¢ £ ¥ · © § ¼ ½ ¾ ¬ | ¯ ¨ ' ×
C0 { A B C D E F G H I - ô ö ò ó õ
D0 } J K L M N O P Q R ¹ û ü ù ú ÿ
E0 \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ
F0 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú  

Dit is CCSID 500, een EBCDIC-variant. De tekens 0x00–0x3F en 0xFF zijn besturingstekens, 0x40 is een spatie, 0x41 is een no-break space 0xCA is een soft hyphen.

Doordat een teken voorgesteld wordt door een 4-bits-waarde, is er een mooie overeenkomst tussen hexadecimale tekens en EBCDIC. De voorstelling van ons Latijns alfabet is echter niet continu: tussen de tekens i en j bevinden zich bijvoorbeeld de tekens «, », ð, ý, þ, ±, °. Dit brengt een aantal lastige praktische problemen met zich mee, bijvoorbeeld bij het alfabetisch sorteren van gegevens.