Extended Binary Coded Decimal Interchange Code
Ce code parait assez absurde mais....
Son codage est donné sur sa page Wikipédia:
Principe
Les nombres hexadécimaux sur 4 digit donnés dans chaque case correspond à l'encodage "UNICODE".
| Quartet haut |
Quartet bas (toutes les valeurs sont en hexadécimal) | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ...0 | ...1 | ...2 | ...3 | ...4 | ...5 | ...6 | ...7 | ...8 | ...9 | ...A | ...B | ...C | ...D | ...E | ...F | |
| 0... | NUL 0000 |
SOH 0001 |
STX 0002 |
ETX 0003 |
ST 009C |
HT 0009 |
SSA 0086 |
DEL 007F |
EPA 0097 |
RI 008D |
SS2 008E |
VT 000B |
FF 000C |
CR 000D |
SO 000E |
SI 000F |
| 1... | DLE 0010 |
DC1 0011 |
DC2 0012 |
DC3 0013 |
OSC 009D |
LF 000A |
BS 0008 |
ESA 0087 |
CAN 0018 |
EM 0019 |
PU2 0092 |
SS3 008F |
FS 001C |
GS 001D |
RS 001E |
US 001F |
| 2... | PAD 0080 |
HOP 0081 |
BPH 0082 |
NBH 0083 |
IND 0084 |
NEL 0085 |
ETB 0017 |
ESC 001B |
HTS 0088 |
HTJ 0089 |
VTS 008A |
PLD 008B |
PLU 008C |
ENQ 0005 |
ACK 0006 |
BEL 0007 |
| 3... | DCS 0090 |
PU1 0091 |
SYN 0016 |
STS 0093 |
CCH 0094 |
MW 0095 |
SPA 0096 |
EOT 0004 |
SOS 0098 |
SGCI 0099 |
SCI 009A |
CSI 009B |
DC4 0014 |
NAK 0015 |
PM 009E |
SUB 001A |
| 4... | SP 0020 |
NBSP 00A0 |
¡ 00A1 |
¢ 00A2 |
£ 00A3 |
¤ 00A4 |
¥ 00A5 |
¦ 00A6 |
§ 00A7 |
¨ 00A8 |
© 00A9 |
. 002E |
< 003C |
( 0028 |
+ 002B |
| 007C |
| 5... | & 0026 |
ª 00AA |
« 00AB |
¬ 00AC |
SHY 00AD |
® 00AE |
¯ 00AF |
° 00B0 |
± 00B1 |
² 00B2 |
! 0021 |
$ 0024 |
* 002A |
) 0029 |
; 003B |
^ 005E |
| 6... | - 002D |
/ 002F |
³ 00B3 |
´ 00B4 |
µ 00B5 |
¶ 00B6 |
· 00B7 |
¸ 00B8 |
¹ 00B9 |
º 00BA |
» 00BB |
, 002C |
% 0025 |
_ 005F |
> 003E |
? 003F |
| 7... | ¼ 00BC |
½ 00BD |
¾ 00BE |
¿ 00BF |
À 00C0 |
Á 00C1 |
 00C2 |
à 00C3 |
Ä 00C4 |
` 0060 |
: 003A |
# 0023 |
@ 0040 |
' 0027 |
= 003D |
" 0022 |
| 8... | Å 00C5 |
a 0061 |
b 0062 |
c 0063 |
d 0064 |
e 0065 |
f 0066 |
g 0067 |
h 0068 |
i 0069 |
Æ 00C6 |
Ç 00C7 |
È 00C8 |
É 00C9 |
Ê 00CA |
Ë 00CB |
| 9... | Ì 00CC |
j 006A |
k 006B |
l 006C |
m 006D |
n 006E |
o 006F |
p 0070 |
q 0071 |
r 0072 |
Í 00CD |
Î 00CE |
Ï 00CF |
Ð 00D0 |
Ñ 00D1 |
Ò 00D2 |
| A... | Ó 00D3 |
~ 007E |
s 0073 |
t 0074 |
u 0075 |
v 0076 |
w 0077 |
x 0078 |
y 0079 |
z 007A |
Ô 00D4 |
Õ 00D5 |
Ö 00D6 |
[ 005B |
× 00D7 |
Ø 00D8 |
| B... | Ù 00D9 |
Ú 00DA |
Û 00DB |
Ü 00DC |
Ý 00DD |
Þ 00DE |
ß 00DF |
à 00E0 |
á 00E1 |
â 00E2 |
ã 00E3 |
ä 00E4 |
å 00E5 |
] 005D |
æ 00E6 |
ç 00E7 |
| C... | { 007B |
A 0041 |
B 0042 |
C 0043 |
D 0044 |
E 0045 |
F 0046 |
G 0047 |
H 0048 |
I 0049 |
è 00E8 |
é 00E9 |
ê 00EA |
ë 00EB |
ì 00EC |
í 00ED |
| D... | } 007D |
J 004A |
K 004B |
L 004C |
M 004D |
N 004E |
O 004F |
P 0050 |
Q 0051 |
R 0052 |
î 00EE |
ï 00EF |
ð 00F0 |
ñ 00F1 |
ò 00F2 |
ó 00F3 |
| E... | \ 005C |
ô 00F4 |
S 0053 |
T 0054 |
U 0055 |
V 0056 |
W 0057 |
X 0058 |
Y 0059 |
Z 005A |
õ 00F5 |
ö 00F6 |
÷ 00F7 |
ø 00F8 |
ù 00F9 |
ú 00FA |
| F... | 0 0030 |
1 0031 |
2 0032 |
3 0033 |
4 0034 |
5 0035 |
6 0036 |
7 0037 |
8 0038 |
9 0039 |
û 00FB |
ü 00FC |
ý 00FD |
þ 00FE |
ÿ 00FF |
APC 009F |
|
Notes :
| ||||||||||||||||
Tout cela semble manquer de logique surtout quand on nous explique que la raison profonde est le fait que l'on codait les programmes avec des cartes perforées. Wikipédia sur la même page nous montre une carte perforée affichant une partie du jeu de caractère....
Personnellement, et au premiers abord, ca ne ma semble pas si trivial!
En fait ce n'est pas vraiment du binaire sur la carte!
Les lignes sont en deux groupes
- Les lignes 1 à 9 de la carte correspondent à une valeur décimale (on additionne les chiffres et ca donne la position sur une ligne du tableau EBCEDIC)
- Les deux lignes du haut (sans chiffre) et la ligne 0 sont plutôt a comprendre comme du binaire et donne la ligne a choisir dans le tableau EBECEDIC.
Et on à les règles :
- Jamais une colonne ne doit être vide (sans trous). En fait le moteur de lecture fait avancer la carte jusqu'à ce qu'il y ai quelque chose à lire. Si on oublie une colonne ce sera juste ignoré. (ca correspond au 00 du tableau EBECEDIC)
- Un chiffre ou une lettre majuscule correspond à un seul trou dans les lignes 1 à 9 et un trou dans les lignes L1, L2 et 0
- Une colonne avec seulement des trous est une colonne a passer
| Première
ligne |
Seconde
ligne |
Troisième
ligne "0" |
Description |
|---|---|---|---|
| 0 | 0 | 0 | C'est la ligne F.. donc les chiffres de 0 à 9 |
| 1 | 0 | 0 | La ligne C.. les lettres de A à J (et le "{" correspond à un trou dans 0) |
| 0 | 1 | 0 | La ligne D.. les lettres de J à R (le "}" correspond à un trou dans 0) |
| 0 | 0 | 1 | La ligne E.. les lignes S à Z (le "\" correspond au trou en 0) |
Là on a l'explication des 36 premières colonnes de la carte d'exemple. Pour la suite
Ensuite on passe aux cas où il y a deux trous dans les lignes 1 à 9. C'est le 8 qui est troué avec un chiffre de 2 à 7. On fait la somme des deux et on à les un chiffre entre 10 et 15 soir en hexa de A à F. Ce sont les dernières colonnes du tableau EBCEDIC.
| Première
ligne |
Seconde
ligne |
Ligne Zéro | Description | A
10 |
B
11 |
C
12 |
D
13 |
E
14 |
F
15 |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | La ligne 7 EBECEDIC | : | # | @ | ' | = | " |
| 1 | 0 | 0 | La ligne 4 EBECEDIC | © | . | < | ( | + | | |
| 0 | 1 | 0 | La ligne 5 EBECEDIC | ! | $ | * | ) | ; | ^ |
| 0 | 0 | 1 | La ligne 6 EBECEDIC | » | , | % | _ | > | ? |
On a tout ce qu'il nous faut pour écrire des programmes (en cobol certainement). Et ne cherchons pas le caractère "new-line" sur une carte perforée car une carte = une ligne donc apres chaque carte c'est "new-line"
Donc l'EBECEDIC sait coder des des caractères divers mais est construit pour que le sous ensemble des caractères utilisés pour coder puisse être facilement convertis en trous!
Et l'éternel HELLO WORLD !.
Archivage
Les premiers "entrepôts de données" datent de cette époque.
Un entrepôt de données en 1959. Une boîte contient 2000 fiches de 80 caractères soit 156 Ko. Chaque palette contient 225 boites soit 32 Mo. Il y a une centaine de palettes sur la photo donc on a 3 Go dans le hangar!
- Mon premier disque dur dans le début des années 90 faisait 33 Mo il correspondait à une palette.
- Une carte SD de 32 Go actuelle contiendrait l'équivalant de 10 Hangars
= 10 fois ce que l'on voit sur cette photo!
- Un disque de 3To 96 hangars!
