Miért nincsenek sorban a betűk az EBCDIC-ben?

Az ASCII-szabványt 1963-ban fogadták el, és ma már szinte senki sem használ olyan kódolást, amelynek első 128 karaktere eltér az ASCII-től. A múlt század végéig azonban aktívan használták az EBCDIC-et - az IBM nagyszámítógépek és szovjet klónjaik EC számítógépeinek szabványos kódolását. Az EBCDIC továbbra is az elsődleges kódolás a z/OS-ben, amely a modern IBM Z nagyszámítógépek szabványos operációs rendszere.

Ami az EBCDIC-et nézegetve azonnal megragadja, az az, hogy a betűk nincsenek sorban: között I и J és között R и S voltak kihasználatlan pozíciók (az ES számítógépen ezekre az intervallumokra megosztott cirill karakterek). Kinek jutott volna eszébe olyan betűket kódolni, ahol a szomszédos betűk között egyenlőtlen szóközök vannak?

Miért nincsenek sorban a betűk az EBCDIC-ben?

Már maga az EBCDIC („Extended BCDIC”) elnevezés is arra utal, hogy ezt a kódolást - az ASCII-vel ellentétben - nem a semmiből hozták létre, hanem a hatbites BCDIC kódoláson alapul, amelyet azóta is használnak. IBM 704 (1954):

Miért nincsenek sorban a betűk az EBCDIC-ben?

Nincs azonnali visszamenőleges kompatibilitás: a BCDIC egyik kényelmes tulajdonsága, amely az EBCDIC-re való átállás során elveszett, az volt, hogy a számok 0-9 megfelelnek a 0-9 kódoknak. A kettő között azonban hét kódnyi hézag van I и J között pedig nyolc kódban R и S már jártak a BCDIC-en. Honnan jöttek?

Az (E)BCDIC története egy időben kezdődik az IBM történetével – jóval az elektronikus számítógépek előtt. Az IBM négy vállalat egyesülése eredményeként jött létre, amelyek közül a technológiailag legfejlettebb a Herman Hollerith, a feltaláló által 1896-ban alapított Tabulating Machine Company volt. tabulátor. Az első tabulátorok egyszerűen megszámolták az adott helyen lyukasztott lyukkártyák számát; de 1905-ben a Hollerith megkezdte a gyártást decimális táblázatosok. A decimális tabulátor minden kártyája tetszőleges hosszúságú mezőkből állt, és az ezekbe a mezőkbe írt számokat a szokásos decimális formában összegezték a teljes paklira. A térkép mezőkre bontását a tabulátor patch panelén lévő vezetékek összekapcsolásával határoztuk meg. Például ezen a Hollerith lyukkártyán tárolva a Kongresszusi Könyvtárban a 23456789012345678 szám egyértelműen le van bélyegezve, és mezőkre van osztva ismeretlen:

Miért nincsenek sorban a betűk az EBCDIC-ben?

A legfigyelmesebbek talán észrevették, hogy a Hollerith térképen 12 sor van a lyukak számára, bár a számokhoz tíz is elég; és a BCDIC-ben a legjelentősebb két bit minden értékéhez csak 12 kód kerül felhasználásra a 16 lehetséges kódból.

Persze ez nem véletlen. Kezdetben Hollerith további sorokat szánt a „speciális jegyeknek”, amelyeket nem adtunk össze, hanem egyszerűen számoltunk – mint a legelső tabulátorokban. (Ma „bitmezőknek” neveznénk őket.) Ezen kívül a „speciális jegyek” között lehetőség volt csoportos mutatók beállítására is: ha a táblázatba foglaláshoz nem csak a végösszegeket, hanem a köztes összegeket is kellett volna, akkor a tabulátor leáll, amikor változást észlelt bármelyik csoportmutatóban, és a kezelőnek át kellett írnia a részösszegeket a digitális táblákról papírra, vissza kellett állítania a táblát, és folytatnia kellett a táblázatozást. Például a számviteli egyenlegek kiszámításakor egy kártyacsoport megfelelhet egy dátumnak vagy egy partnernek.

1920-ra, amikor Hollerith már nyugdíjba vonult, megjelentek a „gépelő tabulátorok”, amelyek telegéppel voltak összekötve, és maguk is tudtak részösszegeket nyomtatni anélkül, hogy kezelői beavatkozást igényelnének. A nehézség most az volt, hogy meghatározzuk, mire utalnak az egyes nyomtatott számok. 1931-ben az IBM úgy döntött, hogy „speciális jeleket” használ a betűk jelzésére: a 12. sorban lévő jel a A a I, a 11. - tól J a R, nullán - tól S a Z. Az új "ábécé tabulátor" kinyomtathatja az egyes kártyacsoportok nevét a részösszegekkel együtt; ebben az esetben a töretlen oszlop karakterek közötti szóközvé változott. Kérjük, vegye figyelembe, hogy S a 0+2 furatkombináció jelöli, és a 0+1 kombinációt eredetileg nem használták, attól tartva, hogy ugyanabban az oszlopban két egymás melletti lyuk mechanikai problémákat okozna az olvasóban.

Miért nincsenek sorban a betűk az EBCDIC-ben?

Most egy kicsit más szemszögből nézheti meg a BCDIC táblázatot:

Miért nincsenek sorban a betűk az EBCDIC-ben?

Eltekintve attól, hogy a 0 és a szóköz felcserélődik, a legjelentősebb két bit határozza meg a "speciális jelet", amelyet 1931 óta a megfelelő karakter lyukkártyájába lyukasztanak; és a legkisebb jelentőségű négy bit határozza meg a kártya fő részébe lyukasztott számjegyet. Szimbólum támogatás & - / az 1930-as években került be az IBM tabulátoraiba, és ezeknek a karaktereknek a BCDIC kódolása megfelel a hozzájuk lyukasztott lyukkombinációknak. Amikor még nagyobb számú karakter támogatására volt szükség, a 8. sort további „speciális jelként” lyukasztottuk – így egy oszlopban akár három lyuk is lehetett. A lyukkártyáknak ez a formátuma gyakorlatilag változatlan maradt a század végéig. A Szovjetunióban elhagyták az IBM latin és írásjelek kódolását, és a cirill betűkhöz egyszerre több „speciális jelet” lyukasztottak a 12., 11. és 0. sorba - nem korlátozva három lyukat egy oszlopban.

Az IBM 704-es számítógép megalkotásakor nem sokat gondolkodtak a karakterkódoláson: átvették az akkoriban a lyukkártyákban már használt kódolást, és csak „a helyére tették”. 0-ben, a BCDIC-ről az EBCDIC-re való áttéréskor minden szimbólum alacsony rendű négy bitje változatlan maradt, bár a magasabb rendű biteket kicsit megkeverték. Így a Hollerith által a múlt század elején választott lyukkártya-formátum az összes IBM számítógép architektúráját befolyásolta, egészen az IBM Z-ig.

Forrás: will.com

Hozzászólás