ASCII
| ASCII | ||
|---|---|---|
|
Printbare ASCII-tegn, fra 32 til 128 | ||
| Idiom | engelsk | |
| Følge | ISO/IEC 8859 og ISO 646 | |
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
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 | PÅ | 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{}|~
|
|
|
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
_ _ ____ ____ ___ ___ __ _ _ __| |_ ____ /_\ / ___| / ___|_ _|_ _| / _` | '__| __|/ __ \ //_\\ \____ \| | | | | | | (_| | | | |_| ___/ / ___ \ ___) | |____ | | | | \__,_|_| \__|\____) /_/ \_\____/ \____|____|____| |
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å
- Tekstfiler og binære filer
- B C D
- EBCDIC
- udvidet ASCII
- ISC II
- ISO8859
- ascii spil
- unicode
- UTF-8
- Tastatur koder
- ACID produktioner
- ascii kunst
ASCII-varianter af specifikke computere
Noter og referencer
- ^ 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]
- ↑ Internationaliserede domænenavne - Ordliste , Internet Corporation for Assigned Names and Numbers (ICANN). Hentet 19. november 2008.
- ↑ International Organization for Standardization ( 1. december 1975 ) . ISO 646 tegnsættet . Internet Assigned Numbers Authority Registry . Besøgt 7. august 2005 .
- ↑ International Organization for Standardization ( 1. december 1975 ) . Internet Assigned Numbers Authority Registry . amerikansk version . Besøgt 7. august 2005 .
- ↑ Internet Assigned Numbers Authority (28. januar 2005). Tegnkoder . Adgang 7. august 2005.
- ↑ ECMA International (december 1991). Standard ECMA-6: 7-bit kodet tegnsæt, 6. udgave Tilgået 17. december 2005.
- ↑ Jargon-fil. ASCIIbetisk . Besøgt den 17. december 2005.
Generelle referencer
- Unicode.org Unicode-kort over ASCII-zonen
- Tom Jennings ( 29. oktober 2004 ) . Annoteret historik over tegnkoder Åbnet 17. december 2005 .
Eksterne links
- ASCII Characters and Code Online-værktøj, der viser ASCII-tegn og deres konverteringer til andre talsystemer.
- Ascii Code To Character Converter på binaryconverterpro.com
- Konvertering til og fra decimal, oktal, hexadecimal, binær (ASCII-notation)
- ASCII-koden. Ascii-koden, tabel tilgængelig til pc og mobile enheder.
- www.elcodigoascii.com.ar ASCII-koden. Tabel med enkle og komplette ASCII-koder.