EBCDIC

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

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 ASCII 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 bestaan 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:

    0 1 2 3 4 5 6 7 8 9 A B C D E F
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 vervelende praktische problemen met zich mee, bijvoorbeeld bij het alfabetisch sorteren van gegevens.