close

ASCII

Gå til navigation Gå til søg
ASCII
ASCII full.svg
Printbare ASCII-tegn, fra 32 til 128
Idiom engelsk Se og rediger dataene i Wikidata
Følge ISO/IEC 8859 og ISO 646 Se og rediger dataene i Wikidata

ASCII ( engelsk akronym for American Standard Code for Information Interchange ), normalt udtales [áski] [ 1 ] : 6  eller (sjældent) [ásθi] eller [ási], er en kode af tegn baseret på det latinske alfabet , som det bruges i moderne Engelsk. Det blev oprettet i 1963 af American Standards Committee (ASA, kendt siden 1969 som American National Standards Institute eller ANSI ) som en udvikling af de kodesæt, der dengang blev brugt i telegrafi .. Senere, i 1967 , blev små bogstaver inkluderet, og nogle kontrolkoder blev omdefineret til at danne koden kendt som US-ASCII.

ASCII-koden bruger 7 bit til at repræsentere tegn, selvom den oprindeligt brugte en ekstra bit (paritetsbit ), der blev brugt til at opdage fejl i transmissionen. Forskellige 8-bit tegnkoder , der udvider ASCII med tegn fra andre sprog end engelsk, såsom ISO/IEC 8859-1 standarden, kaldes ofte forkert ASCII . [ 1 ]

ASCII blev første gang udgivet som en standard i 1967 og blev sidst opdateret i 1986. Den definerer i øjeblikket koder for 32 tegn, der ikke kan udskrives, hvoraf de fleste er kontroltegn, der har en effekt på, hvordan tekst behandles, plus yderligere 95 udskrivbare tegn, der følger i nummereringen (startende med mellemrumstegnet).

Næsten alle computersystemer bruger i dag ASCII-kode eller en kompatibel udvidelse til at repræsentere tekst og til at styre enheder, der håndterer bogstaver eller symboler på tastaturet.

Oversigt

Computere forstår kun tal. ASCII-kode er en metode til at oversætte bogstaver og symboler til tal som 'a=97' eller '/=47'. [ 2 ]

Ligesom andre tegnrepræsentationsformatkoder er ASCII en metode til korrespondance mellem strenge af bit og en række symboler (alfanumeriske og andre), hvilket tillader kommunikation mellem digitale enheder såvel som deres behandling og lagring. ASCII-tegnkoden [ 3 ]​ [ 4 ] – eller en kompatibel udvidelse (se nedenfor) – bruges af næsten alle computere, især med personlige computere og arbejdsstationer . Det mest passende navn for denne tegnkode er "US-ASCII". [ 5 ]

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ ABCDEFGHIJKLMNOPQRSTU VWXYZ [ \ ] ^ _
` abcdefghijklmnopqrstu vwxyz { | } ~  

ASCII er strengt taget en syv - bit kode , hvilket betyder, at den bruger strenge af bit, der kan repræsenteres med syv binære cifre (fra 0 til 127 i decimalbasis) til at repræsentere tegninformation. På det tidspunkt, hvor ASCII-koden blev introduceret, arbejdede mange computere med grupper på otte bit ( bytes eller oktetter ), som den mindste informationsenhed; hvor den ottende bit almindeligvis blev brugt som en paritetsbit til fejlkontrolfunktioner på kommunikationslinjer eller andre enhedsspecifikke funktioner. Maskiner, der ikke brugte paritetskontrol, satte den ottende bit til nul i de fleste tilfælde, selvom andre systemer, såsom Prime -computere , der kører PRIMOS , indstillede den ottende bit af ASCII-koden til én. ASCII-koden definerer et forhold mellem specifikke tegn og sekvenser af bit; bortset fra at reservere nogle få kontrolkoder til tekstbehandleren, og definerer ikke nogen mekanisme til at beskrive strukturen eller udseendet af teksten i et dokument; disse forhold er specificeret af andre sprog, såsom markup- sprog .

Historie

Image
Det amerikanske ASCII-kodebogstav fra 1968 var struktureret med to kolonner med kontroltegn, en kolonne med specialtegn, en kolonne med tal og fire kolonner med bogstaver

ASCII-koden blev udviklet inden for telegrafi og blev først brugt kommercielt som en fjernudskrivningskode drevet af Bell Data Services . Bell havde planlagt at bruge en seks-bit kode, afledt af Fieldata , som tilføjede tegnsætning og små bogstaver til den ældre Baudot fjernudskrivningskode , men de blev overtalt til at tilslutte sig American Standards Agency (ASA) underudvalg, som var begyndt at udvikle ASCII. kode. Baudot hjalp med automatiseringen af ​​afsendelse og modtagelse af telegrafiske beskeder og lånte mange funktioner fra morsekode ; dog, i modsætning til morsekode, brugte Baudot koder af konstant længde. Sammenlignet med tidlige telegrafkoder resulterede koden foreslået af Bell og ASA i en mere bekvem omarrangering af bestillingslister (især da den var ordnet alfabetisk) og tilføjede funktioner såsom ' escape-sekvensen '.

American Standards Agency (ASA), som senere skulle blive til American National Standards Institute ( ANSI ), udgav først ASCII-kode i 1963. ASCII udgivet i 1963 havde en pil, der pegede opad (↑) i stedet for cirkumfleksen (^) og en pil, der peger til venstre i stedet for understregningen (_). 1967-versionen tilføjede de små bogstaver, ændrede navnene på nogle kontrolkoder og flyttede både ACK- og ESC-kontrolkoderne fra området med små bogstaver til området med kontrolkoder.

ASCII blev opdateret i overensstemmelse hermed og udgivet som ANSI X3.4-1968, ANSI X3.4-1977 og endelig ANSI X3.4-1986. Andre standardorganer har offentliggjort tegnkoder, der er identiske med ASCII. Disse tegnkoder omtales ofte som ASCII, selvom ASCII kun er strengt defineret af ASA/ANSI-standarderne:

  • European Computer Manufacturers Association ( ECMA ) udgav udgaver af sin ASCII-klon, ECMA-6, i 1965, 1967, 1970, 1973, 1983 og 1991. 1991-udgaven er identisk med ANSI X3.4-1986. [ 6 ]
  • Den Internationale Standardiseringsorganisation ( ISO ) udgav sin version, ISO 646 (senere ISO/IEC 646) i 1967, 1972, 1983 og 1991. Især etablerede ISO 646:1972 et sæt landespecifikke versioner, hvor tegnsætning blev erstattet med ikke-engelske tegn. ISO/IEC 646:1991 Den internationale referenceversion er den samme som ANSI X3.4-1986.
  • International Telecommunications Union ( ITU ) udgav sin version af ANSI X3.4-1986, ITU Recommendation T.50, i 1992. I begyndelsen af ​​1970'erne udgav den en version som CCITT Recommendation V.3.
  • DIN udgav en version af ASCII som DIN 66003-standarden i 1974.
  • Internet Engineering Task Force ( IETF ) udgav en version i 1969 som RFC 20 og etablerede standardversionen for internettet, baseret på ANSI X3.4-1986, med udgivelsen af ​​RFC 1345 i 1992.
  • IBM - versionen af ​​ANSI X3.4-1986 blev offentliggjort i IBMs tekniske litteratur som kodeblad 367 .

ASCII-kode er også inkluderet i Unicode , der udgør de første 128 (eller 'laveste') tegn.

  • At - tegnet , repræsenteret ved tegnet @ , er en grundlæggende komponent i e-mail-adresser , hvor det vises som en adskillelse mellem brugernavnet og domænenavnet , ved hjælp af formatet bruger@udbyder .
  • Det bruges også i forskellige computerapplikationer, med forskellige funktioner, som for eksempel at betegne en brugerkonto på Twitter ( @usuario ), Telegram , Instagram osv. Det bruges også som et symbol på internettet par excellence, selv som et piktogram i skiltning , for at angive placeringen af ​​en cybercafe eller et sted med internetadgang. Inden for ASCII-koden er den repræsenteret af tallet 64.
  • Udtrykket "arroba" kommer fra det arabiske الربع (ar-rubʿ) , som betyder 'den fjerde del' og blev brugt i Spanien til at repræsentere masseenheden også kaldet arroba . På engelsk læses det ved [æt] ("at", "next to" eller "in"), deraf dens brug i computing .

ASCII-kontroltegn

ASCII-koden reserverer de første 32 koder (nummereret 0 til 31 i decimaler) til kontroltegn : koder, der ikke oprindeligt var beregnet til at repræsentere printbar information, men til at styre enheder (såsom printere ), der brugte ASCII. For eksempel repræsenterer tegn 10 funktionen "linjefremføring", som får en printer til at fremføre papiret, og tegn 27 repræsenterer "escape"-tasten, der ofte findes i det øverste venstre hjørne af tastaturer .

Kode 127 (alle syv bit til én), et andet specialtegn, svarer til "slet". Selvom denne funktion minder om andre kontrolkarakterer, udviklede ASCII-designerne denne kode for at kunne "slette" en sektion af udstanset papir (et populært lagringsmedie indtil 1980'erne) ved at udstanse så mange huller som muligt i en sektion. , der erstatter alle tidligere oplysninger. Da kode 0 blev ignoreret, var det muligt at efterlade huller (områder med huller) og foretage rettelser senere.

Mange af ASCII-kontroltegnene blev brugt til at markere datapakker eller til at styre datatransmissionsprotokoller (f.eks. ENQuiry, hvilket betyder: er der en station derude?, ACKnowledge: modtaget eller ", Start Of Header: startheader, Start af tekst : start af tekst, slutning af tekst: slutning af tekst osv.) ESCape og SUBstitute tillod en kommunikationsprotokol, for eksempel at markere binære data til at indeholde koder med samme kode som protokollens karakter, og som modtageren kunne fortolke dem som data i stedet for som rigtige protokoltegn. Designerne af ASCII-koden udtænkte separatortegnene til brug i magnetbåndsystemer.

To af enhedskontroltegnene, almindeligvis kaldet XON og XOFF , udførte generelt flowkontrolkarakterfunktioner for at styre flowet til en langsom enhed (såsom en printer) fra en hurtig enhed (såsom en computer), så data ikke blev mættet modtagekapaciteten på den langsomme enhed og gik tabt.

Tidlige brugere af ASCII adopterede nogle af kontrolkoderne til at repræsentere "metainformation" såsom slutningen af ​​linjen, begyndelsen/slutningen af ​​et dataelement osv. Disse kortlægninger var ofte i konflikt, så en del af bestræbelserne på at konvertere data fra et format til et andet involverer at foretage de korrekte metadatakonverteringer. For eksempel varierer det tegn, der repræsenterer slutningen af ​​linjen i tekstfiler, med operativsystemet . Når filer kopieres fra et system til et andet, skal konverteringssystemet genkende disse tegn som end-of-line-mærker og handle i overensstemmelse hermed.

I øjeblikket bruger ASCII-brugere færre kontroltegn (med nogle undtagelser som "carriage return" eller "new line"). Moderne markeringssprog, moderne kommunikationsprotokoller, overgangen fra tekstbaserede til grafikbaserede enheder, tilbagegangen af ​​teleprintere, hulkort og kontinuerlige formularer har gjort de fleste kontroltegn forældede.

Binær Decimal hex Forkortelse Spil Navn/betydning
0000 0000 0 00 nul ^@ nul karakter
0000 0001 1 01 SOH ^A Start af overskrift
0000 0010 to 02 STX ^B Start af tekst
0000 0011 3 03 ETX ^C Slut på tekst
0000 0100 4 04 EOT ^D Slut på transmission
0000 0101 5 05 ENQ ^E Forespørgsel
0000 0110 6 06 ACK ^F Kvittering for modtagelse
0000 0111 7 07 BEL ^G Dørklokke
0000 1000 8 08 BS ^H Rekyl
0000 1001 9 09 HT ^I vandret fane
0000 1010 10 0A LF ^J linjeskift
0000 1011 elleve 0B TV ^K Lodret tabulering
0000 1100 12 0C FF ^L sidefeed
0000 1101 13 0D CR ^M Bil retur
0000 1110 14 0E SW ^N deaktiver hætter
0000 1111 femten 0F JA ^O dreje kasketter
0001 0000 16 10 DLE ^P undslippe datalink
0001 0001 17 elleve DC1 ^Q Enhedskontrol 1 ( XON )
0001 0010 18 12 DC2 ^R enhedskontrol 2
0001 0011 19 13 DC3 ^S Enhedskontrol 3 ( XOFF )
0001 0100 tyve 14 DC4 ^T enhedskontrol 4
0001 0101 enogtyve femten NAK ^U negativ anerkendelse
0001 0110 22 16 SYN ^V standby synkronisering
0001 0111 23 17 ETB ^W Slut på transmissionsblok
0001 1000 24 18 HUND ^X Afbestille
0001 1001 25 19 FRK ^Y slutningen af ​​midten
0001 1010 26 1A SUB ^Z substitution
0001 1011 27 1 B ESC ^[ eller ESC Udstødning
0001 1100 28 1 C FS ^\ filseparator
0001 1101 29 1D GS ^] gruppeseparator
0001 1110 30 1E RS ^^ optegnelsesskiller
0001 1111 31 1F OS ^_ drevseparator
0111 1111 127 7F AF ^? eller af Undertrykke

ASCII-tegn, der kan udskrives

Tegnet 'mellemrum' angiver mellemrummet mellem ordene og produceres typisk af mellemrumstasten på et tastatur. Koderne 32 til 126 er kendt som printbare tegn, og de repræsenterer bogstaver, cifre, tegnsætningstegn og forskellige symboler.

Syv-bit ASCII giver syv "nationale" tegn, og hvis din særlige kombination af hardware og software tillader det, kan du bruge tastekombinationer til at simulere andre internationale tegn: i disse tilfælde kan en backspace gå forud for en backspace eller backtick (på britisk og amerikansk standarder, men kun i disse standarder, kaldes også "åbnende enkelt anførselstegn"), en tilde eller et "åndedrætstegn".

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}|~

Binær dec hex Repræsentation
0010 0000 32 tyve mellemrum ( )
0010 0001 33 enogtyve !
0010 0010 3. 4 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2 C ,
0010 1101 Fire, fem 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 halvtreds 32 to
0011 0011 51 33 3
0011 0100 52 3. 4 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
 
Binær dec hex Repræsentation
0100 000 64 40 @
0100 0001 65 41 EN
0100 0010 66 42 B.
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 Fire, fem OG
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 Yo
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F ENTEN
0101 0000 80 halvtreds P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 Ja
0101 0100 84 54 T
0101 0101 85 55 ELLER
0101 0110 86 56 v
0101 0111 87 57 W
0101 1000 88 58 x
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5 D ]
0101 1110 94 5E ^
0101 1111 95 5F _
 
Binær dec hex Repræsentation
0110 0000 96 60 `
0110 0001 97 61 -en
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 og
0110 0110 102 66 F
0110 0111 103 67 g
0110 1000 104 68 h
0110 1001 105 69 Yo
0110 1010 106 6A j
0110 1011 107 6B k
0110 1100 108 6C han
0110 1101 109 6D m
0110 1110 110 6E n
0110 1111 111 6F enten
0111 0000 112 70 s
0111 0001 113 71 hvad
0111 0010 114 72 r
0111 0011 115 73 s
0111 0100 116 74 du
0111 0101 117 75 eller
0111 0110 118 76 v
0111 0111 119 77 w
0111 1000 120 78 x
0111 1001 121 79 Y
0111 1010 122 7A z
0111 1011 123 7B {
0111 1100 124 7C |
0111 1101 125 7D }
0111 1110 126 7E ~

Strukturelle funktioner

  • Cifrene 0 til 9 er repræsenteret med deres værdier præfikset med værdien 0011 i binær (dette betyder, at BCD -ASCII-konverteringen er et simpelt spørgsmål om at tage hver bcd-enhed og sætte den foran med 0011).
  • Bitstrengene for de små og store bogstaver adskiller sig kun med én bit, hvilket forenkler konverteringen fra en gruppe til en anden.

Andre navne for ASCII

RFC 1345 (publiceret juni 1992) og IANA -tegnkoderegistret genkender følgende alternative navne for ASCII til brug på internettet.

  • ANSI_X3.4-1968 (kanonisk navn)
  • ANSI_X3.4-1986
  • ASCII
  • US-ASCII (anbefalet MIME-navn)
  • os
  • ISO646-US
  • ISO_646.irv:1991
  • iso-ir-6
  • IBM367
  • cp367
  • csASCII

Af disse er det kun navnene "US-ASCII" og "ASCII", der er meget brugt. De findes ofte i den valgfri "character code" parameter i Content-Type headeren i nogle MIME -meddelelser , i det tilsvarende "meta" element i nogle HTML -dokumenter og i tegnkodningsdeklarationens del af headeren. i nogle XML -dokumenter .

ASCII-varianter

Efterhånden som computerteknologien spredte sig over hele verden, blev der udviklet forskellige standarder, og virksomheder udviklede mange variationer af ASCII-koden for at gøre det nemmere at skrive andre sprog end engelsk, der bruger latinske alfabeter. Nogle sådanne variationer kan findes klassificeret som " Udvidet ASCII ", selvom begrebet nogle gange anvendes forkert til at dække alle varianter, selv dem, der ikke bevarer det originale syv-bit ASCII-tegnkodesæt.

ISO 646 (1972), det første forsøg på at afhjælpe den pro-engelske tegnkodningsbias, skabte kompatibilitetsproblemer, da det også var en 7-bit tegnkode. Du har ikke angivet nogen yderligere koder, så du tildelte nogle specifikt til de nye sprog. På denne måde blev det umuligt at vide, i hvilken variant teksten var indkodet, og tekstbehandlerne kunne følgelig kun håndtere én variant.

Teknologien blev forbedret og gav midler til at repræsentere informationen kodet i den ottende bit af hver byte, hvilket frigjorde denne bit, som tilføjede yderligere 128 tegnkoder, der blev tilgængelige for nye opgaver. For eksempel udviklede IBM 8-bit tegntabel, såsom tegntabel 437 , som erstattede kontroltegn med grafiske symboler, såsom smileys, og mappede andre yderligere grafiske tegn til de øverste 128 bytes på tegntabel.

Nogle operativsystemer, såsom DOS , kunne fungere med sådanne tegntavler, og producenter af pc'er inkluderede understøttelse af sådanne sider i deres hardware.

Otte-bit standarder som ISO 8859 og Mac OS Roman blev udviklet som ægte udvidelser til ASCII, hvilket efterlod de første 127 tegn intakte og tilføjede kun yderligere værdier over 7-bit. Dette tillod repræsentationen af ​​en bredere vifte af sprog, men disse standarder led fortsat af uforeneligheder og begrænsninger. Stadig i dag er ISO-8859-1 og dens variant Windows-1252 (nogle gange fejlagtigt kaldet ISO-8859-1) og den originale 7-bit ASCII-kode de mest almindeligt anvendte tegnkoder.

Unicode og Universal Character Set (UCS) ISO/IEC 10646 definerer et meget større sæt af tegn, og deres forskellige kodningsformer er begyndt at erstatte ISO 8859 og ASCII hurtigt i mange miljøer. Mens ASCII grundlæggende bruger 7-bit koder, bruger Unicode og UCS "kodepunkter" eller relativt abstrakte pointere: positive tal (inklusive nul), der tildeler sekvenser på 8 eller flere bits til tegn. For at muliggøre kompatibilitet tildeler Unicode og UCS de første 128 pointere til de samme tegn som ASCII-koden. På denne måde kan ASCII opfattes som en meget lille delmængde af Unicode og UCS. Den populære UTF-8-kodning anbefaler brugen af ​​en til fire 8-bit værdier for hver pointer, hvor de første 128 værdier peger på de samme tegn som ASCII. Andre tegnkodninger som UTF-16 ligner ASCII i, hvordan de repræsenterer de første 128 tegn i Unicode, men har en tendens til at bruge 16 til 32 bits pr. tegn, så de kræver korrekt konvertering for kompatibilitet mellem de to tegnkoder.

Ordet ASCIIbetical (eller, mere almindeligt, det "engelske" ord ASCIIbetical ) beskriver sortering efter ASCII-koderækkefølge snarere end alfabetisk rækkefølge. [ 7 ]

Forkortelsen ASCIIZ eller ASCIZ refererer til en nul-termineret tegnstreng . Det er meget normalt, at ASCII-koden integreres i andre mere sofistikerede kodningssystemer, og af denne grund skal det være klart, hvilken rolle ASCII-koden spiller i en computers tabel- eller tegnkort.

ASCII kunst

             _ _ ____ ____ ___ ___
   __ _ _ __| |_ ____ /_\ / ___| / ___|_ _|_ _|
  / _` | '__| __|/ __ \ //_\\ \____ \| | | | | |  
 | (_| | | | |_| ___/ / ___ \ ___) | |____ | | | |   
  \__,_|_| \__|\____) /_/ \_\____/ \____|____|____|  

Image
Løvebillede skabt med ascii-kunst .

ASCII-tegnkoden er støtte fra en kunstnerisk minoritetsdisciplin, ASCII-kunst , som består af sammensætningen af ​​billeder ved hjælp af printbare ASCII-tegn. Den resulterende effekt er blevet sammenlignet med pointillisme , da billeder produceret med denne teknik generelt værdsættes mere detaljeret, når de ses på afstand. ASCII-kunst begyndte som en eksperimentel kunst, men den blev hurtigt populær som et middel til at repræsentere billeder på medier, der ikke var i stand til at behandle grafik, såsom teletyper , terminaler , e- mails eller nogle printere.

Selvom du manuelt kan komponere ASCII-kunst ved hjælp af en teksteditor, kan du også automatisk konvertere billeder og videoer til ASCII ved hjælp af software, såsom det populære Aalib-bibliotek (frit licenseret). Aalib understøttes af nogle grafiske designprogrammer, spil og videoafspillere.

Se også

ASCII-varianter af specifikke computere

Noter og referencer

  1. ^ a b Mackenzie, Charles E. (1980). "Kodede tegnsæt, historie og udvikling". Systems Programming Series (1 udgave) (Addison-Wesley Publishing Co. Inc.). pp. 6, 166, 211, 215, 217, 220, 223, 228, 236-238, 243-245, 247-253, 423, 425-428, 435-439. ISBN  0-201-14460-3 . LCCN  77090165 . [1] 
  2. Internationaliserede domænenavne - Ordliste , Internet Corporation for Assigned Names and Numbers (ICANN). Hentet 19. november 2008.
  3. International Organization for Standardization ( 1. december 1975 ) . ISO 646 tegnsættet . Internet Assigned Numbers Authority Registry . Besøgt 7. august 2005 .
  4. International Organization for Standardization ( 1. december 1975 ) . Internet Assigned Numbers Authority Registry . amerikansk version . Besøgt 7. august 2005 .
  5. Internet Assigned Numbers Authority (28. januar 2005). Tegnkoder . Adgang 7. august 2005.
  6. ECMA International (december 1991). Standard ECMA-6: 7-bit kodet tegnsæt, 6. udgave Tilgået 17. december 2005.
  7. Jargon-fil. ASCIIbetisk . Besøgt den 17. december 2005.

Generelle referencer

Eksterne links