Amerikas informācijas apmaiņas standartkods jeb ASCII (angļu: American Standard Code for Information Interchange) ir rakstzīmju kopa un kodējums, kas balstīts uz modernajā angļu valodā un citās Rietumeiropas valodās lietoto latīņu alfabētu. Visplašāk to izmanto datoros un citās komunikāciju ierīcēs, lai attēlotu tekstu un kontrolētu ierīces, kas strādā ar tekstu.

Ir 95 attēlojami simboli, numurēti no 32 līdz 126.

ASCII nenodrošina latviešu alfabēta burtus ar diakritiskajām zīmēm (ā,č,ē,ģ,ī,ķ,ļ,ņ,š,ū,ž).

ASCII tika izveidots, balstoties uz telegrāfa kodu. Pirmoreiz tas komerciāli tika izmantots kā 7 bitu teletaipa kods, ko izplatīja "Bell data services".

ASCII standarta izstrāde tika sākta 1960. gada 6. oktobrī, kad notika Amerikas Standartu asociācijas (tagad – Amerikas Nacionālo standartu institūts) X3.2 apakškomitejas pirmā sanāksme. Pirmā standarta redakcija tika publicēta 1963. gadā.[1][2] 1986. gadā standarts tika ievērojami pārskatīts[3][4] un tas pēdējoreiz atjaunināts 1986. gadā.[3] Salīdzinot ar telegrāfa kodu, piedāvātais "Bell" kods un ASCII tika sakārtoti, lai nodrošinātu ērtāku sarakstu atlasi, tostarp tie tika pielāgoti izmantošanai arī citās ierīcēs, ne tikai teletaipā.

ASCII formāta izmantošana datu apmaiņām tīklā tika aprakstīta 1969. gadā.[5] Minētais dokuments oficiāli tika atzīts par interneta standartu 2015. gadā.[6]

ASCII pamatā ir balstīts uz angļu valodas alfabētu. Tajā ietilpst 128 noteiktas rakstzīmes, kas tiek pārvērstas veselos 7 bitu skaitļos, kā tas redzams ASCII tabulā.[7][8] 95 no šīm rakstzīmēm ir drukājamas, proti, tās ir cipari no 0 līdz 9, mazie burti no a līdz z, lielie burti no A līdz Z un pieturzīmju simboli. Kā arī, sākotnējā ASCII specifikācijā bija iekļautas 33 nedrukājami vadības kodi, kas tika radītas teletaipa vajadzībām, taču šobrīd lielākā daļa šo rakstzīmju ir novecojušas,[9] lai gan dažas vēl aizvien tiek plaši izmantotas, piemēram, rakstatgrieze un rindpadeve.

Piemēram, mazais i, izmantojot ASCII, tiktu parādīts kā 1101001 (binārajos ciparos), kā 69 (heksadecimālciparos) un kā 105 (decimālajos ciparos).

Amerikas informācijas apmaiņas standartkods (ASCII) tika izstrādāts vienas no Amerikas Standartu asociācijas komitejām, X3 komitejas, aizbildnībā. Sākotnēji par to bija atbildīga X3.2 (vēlāk – X3L3) apakškomiteja, un vēlāk – tās X3.2.4 darba grupa (tagad INCITS). Amerikas Standartu asociācija kļuva par Amerikas Savienoto valstu Standartu institūtu un galu galā par Amerikas Nacionālo standartu institūtu (ANSI).

Pēc citu speciālo rakstzīmju un vadības kodu pievienošanas ASCII tika publicēts kā ASA X3.4-1963,[2][10] tobrīd tika atstāta vieta, lai vēlāk varētu pievienot vēl 28 rakstzīmes un vienu nedrukājamu rakstzīmi.[11] 1963. gada maijā tika izteikts priekšlikums pievienot maziem burtiem attēlotas rakstzīmes 6. un 7. daļā, Starptautiskā standartizācijas organizācija (ISO) 1963. gada oktobrī nobalsoja par labu minēto rakstzīmju iekļaušanai standarta projektā.[12] X3.2.4. darba grupa balsojot apstiprināja izmaiņas ASCII savā 1963. gada maija sanāksmē.[13] Tā kā maziem burtiem attēlotās rakstzīmes tika iekļautas 6. un 7. daļā, tās no lieliem burtiem attēlotajām rakstzīmēm atšķīrās par vienu bitu, tādējādi atvieglojot reģistrnejutīgu rakstzīmju saskaņošanu, kā arī klaviatūru un printeru konstruēšanu.

X3 komiteja veica arī citas izmaiņas, tostarp iekļāva citas jaunas rakstzīmes (figūriekavas un vertikālo joslu),[14] pārsauca dažas vadības rakstzīmes, savukārt dažas citas – pārvietoja vai aizvāca pavisam.[11] ASCII vēlāk tika atjaunots kā USAS X3.4-1967,[3][15] tad kā USAS X3.4-1968, ANSI X3.4-1977 un, visbeidzot, kā ANSI X3.4-1986.[3][16]

Pārskatītās ASCII standarta redakcijas:

  • ASA X3.4-1963[11][15][16]
  • ASA X3.4-1965 (apstiprināta, bet nepublicēta)[16]
  • USAS X3.4-1967[11][16]
  • USAS X3.4-1968[11][16]
  • ANSI X3.4-1977[16]
  • ANSI X3.4-1986[16]
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • ANSI INCITS 4-1986 (R2002)[17]
  • ANSI INCITS 4-1986 (R2007)[18]
  • (ANSI) INCITS 4-1986[R2012][19]
  • (ANSI) INCITS 4-1986[R2017][20]

X3.15 standartā X3 komiteja pievērsās arī tam, kā ASCII būtu jāpārsūta (sākot ar vismazāk nozīmīgo bitu)[11][21] un kā tas būtu jāreģistrē perfolentē. Komiteja piedāvāja 9 celiņu standartu magnētiskajām lentēm un mēģināja pievērsties arī daļai perfokaršu formātu.

Dizaina apsvērumi

labot šo sadaļu

Bitu platums

X3.2 apakškomiteja izstrādāja ASCII, balstoties uz teletaipu kodēšanas sistēmām. Līdzīgi kā citas rakstzīmju kodēšanas sistēmas, ASCII precizē atbilsmes starp digitālām bitu shēmām un rakstzīmju simboliem (t. i., grafiskajiem simboliem un vadības rakstzīmēm). Šīs atbilsmes ļauj digitālajām ierīcēm savstarpēji sazināties, kā arī apstrādāt, uzglabāt un paziņot rakstzīmēs balstītu informāciju, piemēram, rakstu valodu. Pirms ASCII izstrādes, kodējot tika izmantoti 26 burti, 10 cipari un no 11 līdz 25 grafiskajiem simboliem. Lai iekļautu visas minētās un arī vadības rakstzīmes, kas ir saderīgas ar Comité Consultatif International Téléphonique et Télégraphique (CCITT) "International Telegraph Alphabet No. 2" (ITA2) standartu (1924),[22][23] FIELDATA (1956)[24] un EBCDIC (1963), ASCII bija nepieciešams vairāk par 64 kodiem.

Savukārt ITA2 pamatā ir 5 bitu telegrāfa kods, ko 1870. gadā izgudroja un 1874. gadā patentēja Emils Bodo (Émile Baudot).[23]

Komiteja apsprieda iespēju izmantot maiņas funkciju (tāpat kā ITA2), kas ļautu ar 6 bitu kodu attēlot vairāk par 64 kodiem. Izmantojot maiņas funkciju, atsevišķi rakstzīmju kodi nosaka turpmāk sekojošo rakstzīmju kodu. Tādējādi kods ir kompaktāks, taču tad tas ir mazāk uzticams datu pārsūtīšanā, jo kļūda datu pārsūtīšanā parasti lielu daļu pārsūtāmā koda padara nelasāmu. Standarta komiteja nolēma neizmantot maiņas funkciju, tāpēc ASCII bija nepieciešams vismaz 7 bitu kods.[11]

Komiteja apsvēra 8 bitu koda izmantošanu, jo 8 biti (okteti) ļautu izmantot divas četru bitu shēmas, lai efektīvi kodētu divus ciparus ar bināri kodētu decimālciparu. Tomēr tas nozīmētu, ka vienmēr būtu jāsūta 8 biti, pat ja pietiktu ar 7. Komiteja balsoja par labu 7 bitu koda izmantošanai, lai samazinātu ar datu pārsūtīšanu saistītās izmaksas. Tā kā perfolentes tolaik ļāva vienā pozīcijā reģistrēt 8 bitus, šāda izvēle ļāva izmantot pārības bitus, lai pārbaudītu kļūdas.[11] 8 bitu mašīnas, kas pārības bitus neizmantoja, parasti kā 8 bitu norādīja 0. Dažos printeros šis bits tika izmantos, lai iespējotu druku kursīvā.

Rakstzīmju secība

ASCII koda secību mēdz saukt arī par ASCII alfabēta secību. Šajā secībā dažviet tiek veikta datu komplektēšana, kas atšķiras no "standarta" alfabēta secības (secība šķirošanai komplektos). Galvenās atkāpes ASCII secībā ir šādas:

  • lieliem burtiem attēlotās rakstzīme ir pirms maziem burtiem attēlotajām rakstzīmēm, piemēram, "Z" ir pirms "a";
  • cipari un daudzas pieturzīmes ir pirms burtiem.

Starpsecība pārvērš lielos burtus mazajos pirms ASCII vērtību salīdzināšanas.

ASCII nedrukājamās rakstzīmes

labot šo sadaļu

ASCII nedrukājamo rakstzīmju tabulas skaitļi 0 līdz 31 ir piešķirti vadības rakstzīmēm, kas tiek lietotas perifērijas ierīču kontrolei – printeru vadībai u. c. Piemēram, skaitlis 12 nozīmē formas padevi/jaunu lappusi. Šī komanda liek printerim "pārlēkt" uz nākamās lappuses sākumu.

Kods Nozīme
0 null
1 virsraksta sākuma
2 teksta sākums
3 teksta beigas
4 pārraides beigas
5 pieprasījums
6 apstiprinājums
7 zvans
8 atpakaļatkāpe
9 horizontālās tabulēšanas rakstzīme
10 formas padeve/jauna rinda
11 vertikālās tabulēšanas rakstzīme
12 formas padeve/jauna lappuse
13 pārvešanas atgriešana
14 pārvietot atpakaļ
15 pārvietot
16 datu saites apiešana
17 ierīces kontrole 1
18 ierīces kontrole 2
19 ierīces kontrole 3
20 ierīces kontrole 4
21 negatīvs apstiprinājums
22 sinhronā tukšgaita
23 pārraides bloka beigas
24 atcelšana
25 medija beigas
26 aizstāt
27 apiet
28 faila atdalītājs
29 grupas atdalītājs
30 ieraksta atdalītājs
31 vienuma atdalītājs
  1. «CNN - 1963: The debut of ASCII - July 6, 1999». edition.cnn.com. Arhivēts no oriģināla, laiks: 2013-06-17. Skatīts: 2020-12-20.
  2. 2,0 2,1 «WPS:Projects:History of character codes:X3.4 1963». www.sr-ix.com. Arhivēts no oriģināla, laiks: 2020-08-11. Skatīts: 2020-12-20.
  3. 3,0 3,1 3,2 3,3 "American National Standards Institute" (en). Wikipedia. 2020-11-27.
  4. «World Power Systems:Texts:Annotated history of charactercodes». www.sr-ix.com. Arhivēts no oriģināla, laiks: 2016-05-22. Skatīts: 2020-12-20.
  5. V. G. Cerf. «ASCII format for network interchange». tools.ietf.org (angļu). Skatīts: 2020-12-20.
  6. «Correct classification of RFC 20 (ASCII format) to Internet Standard». datatracker.ietf.org. Skatīts: 2020-12-20.
  7. Robert W. Shirey <rwshirey@uwalumni.com>. «Internet Security Glossary, Version 2». tools.ietf.org (angļu). Skatīts: 2020-12-20.
  8. «Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion». www.asciitable.com. Skatīts: 2020-12-20.
  9. Anil K. Maini. Digital Electronics: Principles, Devices and Applications. Wiley, 2007-09-11. ISBN 978-0-470-03214-5.
  10. «Electronics World July 1964». web.archive.org. 2016-03-03. Arhivēts no oriģināla, laiks: 2016-03-03. Skatīts: 2020-12-20.
  11. 11,0 11,1 11,2 11,3 11,4 11,5 11,6 11,7 «Coded Character Sets, History and Decelopment».
  12. Report of ISO/TC/97/SC 2 – Meeting of October 29–31, 1963.
  13. Report on Task Group X3.2.4, June 11, 1963, Pentagon Building, Washington, DC.
  14. Report of Meeting No. 8, Task Group X3.2.4, December 17 and 18, 1963
  15. 15,0 15,1 «Standards». web.archive.org. 2010-01-16. Arhivēts no oriģināla, laiks: 2010-01-16. Skatīts: 2020-12-20.
  16. 16,0 16,1 16,2 16,3 16,4 16,5 16,6 «7-bit character sets». www.aivosto.com. Skatīts: 2020-12-20.
  17. Jukka K. Korpela. Unicode Explained – Internationalize Documents, Programs, and Web Sites. 118. ISBN 978-0-596-10121-3.
  18. http://sliderule.mraiow.com/w/images/7/73/ASCII.pdf
  19. «INCITS: INCITS 4-1986[R2012]: Information Systems - Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)». standards.incits.org. Skatīts: 2020-12-20.
  20. «INCITS: INCITS 4-1986[R2017]: Information Systems - Coded Character Sets - 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)». standards.incits.org. Skatīts: 2020-12-20.
  21. Bit Sequencing of the American National Standard Code for Information Interchange in Serial-by-Bit Data Transmission. American National Standards Institute (ANSI). 1966.
  22. «BruXy: Radio Teletype communication». bruxy.regnet.cz. Skatīts: 2020-12-20.
  23. 23,0 23,1 http://www.baudot.net/docs/smith--teletype-codes.pdf
  24. Dažādos avotos minēts gan 1956., gan 1957. gads. Nepieciešams uzticams avots.

Ārējās saites

labot šo sadaļu