ASCII standarts tika pieņemts 1963. gadā, un tagad gandrīz neviens neizmanto kodējumu, kura pirmās 128 rakstzīmes atšķiras no ASCII. Tomēr līdz pagājušā gadsimta beigām aktīvi tika izmantots EBCDIC - standarta kodējums IBM lieldatoriem un to padomju klonu EC datoriem. EBCDIC joprojām ir primārais kodējums z/OS — standarta operētājsistēmā mūsdienu IBM Z lieldatoriem.
Apskatot EBCDIC uzreiz iekrīt acīs tas, ka burti nav pēc kārtas: starp I и J un starp R и S bija neizmantotas pozīcijas (ES datorā šiem intervāliem kirilicas rakstzīmes). Kurš būtu domājis kodēt burtus ar nevienlīdzīgām atstarpēm starp blakus esošajiem burtiem?

Pats nosaukums EBCDIC (“Extended BCDIC”) norāda, ka šis kodējums atšķirībā no ASCII netika izveidots no jauna, bet gan balstīts uz sešu bitu BCDIC kodējumu, kas tiek izmantots kopš (1954):

Nav tūlītējas atgriezeniskas saderības: ērta BCDIC funkcija, kas tika zaudēta, pārejot uz EBCDIC, bija skaitļi 0Sākot no9 atbilst kodiem 0-9. Tomēr starp tiem ir septiņu kodu atstarpes I и J un astoņos kodos starp R и S jau ir bijuši BCDIC. No kurienes viņi radās?
(E)BCDIC vēsture sākas vienlaikus ar IBM vēsturi - ilgi pirms elektroniskajiem datoriem. IBM tika izveidots, apvienojoties četriem uzņēmumiem, no kuriem tehnoloģiski vismodernākais bija Tabulating Machine Company, kuru 1896. gadā dibināja izgudrotājs Hermans Hollerits. . Pirmie tabulatori vienkārši saskaitīja noteiktā vietā perforēto perfokaršu skaitu; bet 1905. gadā Hollerith sāka ražošanu decimālzīme tabulatori. Katra decimālā tabulatora kartīte sastāvēja no patvaļīga garuma laukiem, un šajos laukos parastajā decimāldaļā ierakstītie skaitļi tika summēti pa visu klāju. Kartes sadalījums laukos tika noteikts, savienojot vadus tabulatora ielāpu panelī. Piemēram, šajā Hollerith perfokartē Kongresa bibliotēkā numurs 23456789012345678 ir skaidri apzīmogots, nezināms, jo tas ir sadalīts laukos:

Vērīgākie, iespējams, pamanīja, ka Holleritas kartē ir 12 rindas bedrēm, lai gan skaitļiem pietiek ar desmit; un BCDIC katrai svarīgāko divu bitu vērtībai tiek izmantoti tikai 12 kodi no 16 iespējamiem.
Protams, tā nav nejaušība. Sākotnēji Hollerits paredzēja papildu rindas “īpašajām atzīmēm”, kuras netika summētas, bet vienkārši saskaitītas - tāpat kā pirmajos tabulatoros. (Šodien mēs tos sauktu par "bitu laukiem".) Turklāt starp "īpašajām atzīmēm" bija iespējams iestatīt grupu rādītājus: ja tabulēšanai bija nepieciešamas ne tikai gala summas, bet arī starpsummas, tad tabulators apstājās, kad tas atklāja izmaiņas jebkurā no grupas indikatoriem, un operatoram bija jāpārraksta starpsummas no digitālajām tāfelēm uz papīra, jāatiestata tāfele un jāatsāk tabulēšana. Piemēram, aprēķinot grāmatvedības atlikumus, karšu grupa varētu atbilst vienam datumam vai vienam darījumu partnerim.
Līdz 1920. gadam, kad Holleriths jau bija aizgājis pensijā, tika izmantoti “mašīnrakstīšanas tabulatori”, kas bija savienoti ar teletaipu un varēja paši izdrukāt starpsummas bez operatora iejaukšanās. Grūtības tagad bija noteikt, uz ko attiecas katrs no drukātajiem cipariem. 1931. gadā IBM nolēma burtu apzīmēšanai izmantot “īpašas zīmes”: atzīme 12. rindā apzīmēja burtu no A līdz I, 11. - no plkst J līdz R, pie nulles - no S līdz Z. Jaunais "alfabēta tabulators" varētu izdrukāt katras kartīšu grupas nosaukumu kopā ar starpsummas; šajā gadījumā nepārkāptā kolonna pārvērtās par atstarpi starp rakstzīmēm. Lūdzu, ņemiet vērā, ka S tiek apzīmēts ar caurumu kombināciju 0+2, un 0+1 kombinācija sākotnēji netika izmantota, baidoties, ka divi caurumi blakus viens otram vienā kolonnā radīs mehāniskas problēmas lasītājā.

Tagad jūs varat apskatīt BCDIC tabulu no nedaudz cita leņķa:

Izņemot to, ka 0 un atstarpe ir apgriezti, nozīmīgākie divi biti nosaka "īpašo atzīmi", kas ir iespiesta perfokartē attiecīgajai rakstzīmei kopš 1931. gada; un vismazāk nozīmīgie četri biti nosaka ciparu, kas iespiests kartes galvenajā daļā. Simbolu atbalsts & - / 1930. gadsimta 8. gados tika pievienota IBM tabulatoriem, un šo rakstzīmju BCDIC kodējums atbilst tām iespiestajām caurumu kombinācijām. Kad bija nepieciešams atbalsts vēl lielākam rakstzīmju skaitam, 12. rinda tika iespiesta kā papildu “speciālā atzīme” – tādējādi vienā kolonnā varēja būt līdz trim caurumiem. Šis perfokaršu formāts praktiski nemainījās līdz pat gadsimta beigām. PSRS viņi atstāja IBM latīņu un pieturzīmju kodējumus, un kirilicas burtiem 11., 0., XNUMX rindās uzreiz iespieda vairākas “īpašās atzīmes”, neaprobežojoties ar trim caurumiem vienā kolonnā.
Kad tika izveidots dators IBM 704, viņi ilgi nedomāja par tā rakstzīmju kodējumu: paņēma jau tolaik perfokartēs izmantoto kodējumu un tikai “nolika savā vietā”. 0. gadā, pārejot no BCDIC uz EBCDIC, katra simbola zemās kārtas četri biti tika atstāti nemainīgi, lai gan augstākās kārtas biti tika nedaudz sajaukti. Tādējādi Hollerita izvēlētais perfokartes formāts pagājušā gadsimta sākumā ietekmēja visu IBM datoru arhitektūru, līdz pat IBM Z ieskaitot.
Avots: www.habr.com
