ASCII
| ASCII | ||
|---|---|---|
|
Utskrivbara ASCII-tecken, från 32 till 128 | ||
| Idiom | engelsk | |
| Följande | ISO/IEC 8859 och ISO 646 | |
ASCII ( engelsk akronym för American Standard Code for Information Interchange ), vanligtvis uttalad [áski] [ 1 ] : 6 eller (sällan) [ásθi] eller [ási], är en teckenkod baserad på det latinska alfabetet , som används i modern tid Engelsk. Den skapades 1963 av American Standards Committee (ASA, känd sedan 1969 som American National Standards Institute, eller ANSI ) som en utveckling av koduppsättningarna som sedan användes i telegrafi .. Senare, 1967 , inkluderades små bokstäver, och vissa kontrollkoder omdefinierades för att bilda koden som kallas US-ASCII.
ASCII-koden använder 7 bitar för att representera tecken, även om den initialt använde en extra bit (paritetsbit ) som användes för att upptäcka fel i överföringen. Olika 8-bitars teckenkoder som utökar ASCII med tecken från andra språk än engelska, såsom ISO/IEC 8859-1- standarden, kallas ofta felaktigt för ASCII . [ 1 ]
ASCII publicerades först som standard 1967 och uppdaterades senast 1986. Den definierar för närvarande koder för 32 tecken som inte kan skrivas ut, varav de flesta är kontrolltecken som påverkar hur text bearbetas, plus ytterligare 95 utskrivbara tecken som följer i numreringen (börjar med mellanslagstecknet).
Nästan alla datorsystem använder idag ASCII-kod eller ett kompatibelt tillägg för att representera text och för att styra enheter som hanterar bokstäver eller vilka symboler som helst på tangentbordet.
Översikt
Datorer förstår bara siffror. ASCII-kod är en metod för att översätta bokstäver och symboler till siffror som 'a=97' eller '/=47'. [ 2 ]
Liksom andra teckenrepresentationsformatkoder är ASCII en metod för en överensstämmelse mellan bitsträngar och en serie symboler (alfanumeriska och andra), vilket möjliggör kommunikation mellan digitala enheter såväl som deras bearbetning och lagring. ASCII-teckenkoden [ 3 ] [ 4 ] – eller ett kompatibelt tillägg (se nedan) – används av nästan alla datorer, speciellt med persondatorer och arbetsstationer . Det lämpligaste namnet för denna teckenkod är "US-ASCII". [ 5 ]
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ ABCDEFGHIJKLMNOPQRSTU VWXYZ [ \ ] ^ _
` abcdefghijklmnopqrstu vwxyz { | } ~
|
ASCII är strängt taget en sju -bitars kod , vilket innebär att den använder bitsträngar som kan representeras med sju binära siffror (från 0 till 127 i decimalbas) för att representera teckeninformation. När ASCII-koden introducerades arbetade många datorer med grupper om åtta bitar ( byte eller oktetter ), som minsta informationsenhet; där den åttonde biten vanligtvis användes som en paritetsbit för felkontrollfunktioner på kommunikationslinjer eller andra enhetsspecifika funktioner. Maskiner som inte använde paritetskontroll satte den åttonde biten till noll i de flesta fall, även om andra system som Prime -datorer som kör PRIMOS ställer in den åttonde biten i ASCII-koden till ett. ASCII-koden definierar ett förhållande mellan specifika tecken och bitsekvenser; förutom att reservera några kontrollkoder för ordbehandlaren, och definierar inte någon mekanism för att beskriva strukturen eller utseendet på texten i ett dokument; dessa frågor specificeras av andra språk som märkningsspråk .
Historik
ASCII-koden utvecklades inom telegrafiområdet och användes först kommersiellt som en fjärrutskriftskod som drivs av Bell Data Services . Bell hade planerat att använda en sexbitarskod, härledd från Fieldata , som lade till interpunktion och gemener till den äldre Baudot -fjärrtryckningskoden , men de övertalades att gå med i underkommittén för American Standards Agency (ASA), som hade börjat utveckla ASCII. koda. Baudot hjälpte till med automatiseringen av att skicka och ta emot telegrafiska meddelanden, och lånade många funktioner från morsekod ; dock, till skillnad från morsekod, använde Baudot koder med konstant längd. Jämfört med tidiga telegrafkoder resulterade koden som föreslogs av Bell och ASA i en mer bekväm omarrangering av beställningslistor (särskilt eftersom den ordnades alfabetiskt) och tillagda funktioner som " flyktsekvensen ".
American Standards Agency (ASA), som senare skulle bli American National Standards Institute ( ANSI ), publicerade först ASCII-koden 1963. ASCII publicerad 1963 hade en pil som pekade uppåt (↑) i stället för cirkumflexen (^) och en pil som pekar åt vänster i stället för understrecket (_). 1967 års version lade till gemener, ändrade namnen på vissa kontrollkoder och flyttade både ACK- och ESC-kontrollkoderna från området med små bokstäver till kontrollkodsområdet.
ASCII uppdaterades i enlighet med detta och publicerades som ANSI X3.4-1968, ANSI X3.4-1977 och slutligen ANSI X3.4-1986. Andra standardiseringsorgan har publicerat teckenkoder som är identiska med ASCII. Dessa teckenkoder kallas ofta för ASCII, även om ASCII endast är strikt definierad av ASA/ANSI-standarderna:
- European Computer Manufacturers Association ( ECMA ) publicerade utgåvor av sin ASCII-klon, ECMA-6, 1965, 1967, 1970, 1973, 1983 och 1991. 1991 års upplaga är identisk med ANSI X3.4-1986. [ 6 ]
- International Organization for Standardization ( ISO ) publicerade sin version, ISO 646 (senare ISO/IEC 646) 1967, 1972, 1983 och 1991. I synnerhet etablerade ISO 646:1972 en uppsättning landsspecifika versioner där teckens skiljetecken ersattes med icke-engelska tecken. ISO/IEC 646:1991 Den internationella referensversionen är densamma som ANSI X3.4-1986.
- International Telecommunications Union ( ITU ) publicerade sin version av ANSI X3.4-1986, ITU Recommendation T.50, 1992. I början av 1970-talet publicerade den en version som CCITT Recommendation V.3.
- DIN publicerade en version av ASCII som DIN 66003-standarden 1974.
- Internet Engineering Task Force ( IETF ) publicerade en version 1969 som RFC 20 och etablerade standardversionen för Internet, baserad på ANSI X3.4-1986, med publiceringen av RFC 1345 1992.
- IBM -versionen av ANSI X3.4-1986 publicerades i IBMs tekniska litteratur som kodsida 367 .
ASCII-kod ingår också i Unicode , som utgör de första 128 (eller "lägsta") tecknen.
- At -tecknet , representerat av @ -tecknet , är en grundläggande komponent i e-postadresser , där det visas som en separator mellan användarnamnet och domännamnet , med formatet användare@leverantör .
- Den används även i olika datorapplikationer, med olika funktioner, som att till exempel beteckna ett användarkonto på Twitter ( @usuario ), Telegram , Instagram , etc. Det används också som en symbol för Internet par excellence, även som ett piktogram i skyltar , för att ange platsen för ett cybercafé eller en plats med tillgång till Internet. Inom ASCII-koden representeras den av siffran 64.
- Termen "arroba" kommer från arabiskan الربع (ar-rubʿ) , som betyder "den fjärde delen" och användes i Spanien för att representera den massenhet som också kallas arroba . På engelska läses det på [æt] ("at", "bredvid" eller "in"), därav dess användning i datoranvändning .
ASCII-kontrolltecken
ASCII-koden reserverar de första 32 koderna (numrerade 0 till 31 i decimaler) för kontrolltecken : koder som inte ursprungligen var avsedda att representera utskrivbar information, utan för att styra enheter (som skrivare ) som använde ASCII. Till exempel representerar tecknet 10 funktionen "linjematning", som får en skrivare att mata papperet, och tecknet 27 representerar "escape"-tangenten som ofta finns i det övre vänstra hörnet på tangentbord .
Kod 127 (alla sju bitar till en), ett annat specialtecken, motsvarar "radera". Även om den här funktionen liknar andra kontrolltecken, utformade designers av ASCII denna kod för att kunna "radera" en sektion av hålat papper (ett populärt lagringsmedium fram till 1980-talet) genom att stansa så många hål som möjligt i en sektion. , ersätter all tidigare information. Eftersom koden 0 ignorerades, var det möjligt att lämna luckor (områden med hål) och göra korrigeringar senare.
Många av ASCII-kontrolltecken användes för att markera datapaket eller för att styra dataöverföringsprotokoll (till exempel ENQuiry, vilket betyder: finns det en station där ute?, ACKnowledge: mottagen eller ", Start Of Header: Start Header, Start of TeXt : början av text, End of Text: slutet av text, etc.) ESCape och SUBstitute gjorde det möjligt för ett kommunikationsprotokoll att till exempel markera binära data för att innehålla koder med samma kod som protokollets karaktär, och som mottagaren kunde tolka dem som data istället för som korrekta protokolltecken. Utformarna av ASCII-koden tog fram separatortecknen för användning i magnetbandssystem.
Två av enhetskontrolltecken, vanligtvis kallade XON och XOFF , utförde i allmänhet flödeskontrollteckenfunktioner för att styra flödet till en långsam enhet (som en skrivare) från en snabb enhet (som en dator), så att data inte mättas mottagningskapaciteten för den långsamma enheten och gick förlorad.
Tidiga användare av ASCII antog några av kontrollkoderna för att representera "metainformation" såsom slutet av raden, början/slutet av en datapost, etc. Dessa mappningar kom ofta i konflikt, så en del av ansträngningen att konvertera data från ett format till ett annat innebär att göra rätt metadatakonverteringar. Till exempel varierar tecknet som representerar slutet av raden i textfiler med operativsystemet . När filer kopieras från ett system till ett annat måste konverteringssystemet känna igen dessa tecken som radslutmärken och agera därefter.
För närvarande använder ASCII-användare färre kontrolltecken (med vissa undantag som "carriage return" eller "new line"). Moderna märkningsspråk, moderna kommunikationsprotokoll, övergången från textbaserade till grafikbaserade enheter, nedgången av teleprinters, hålkort och kontinuerliga formulär har gjort de flesta kontrolltecken föråldrade.
| Binär | Decimal | hex | Förkortning | spela | PÅ | Namn mening |
|---|---|---|---|---|---|---|
| 0000 0000 | 0 | 00 | null | ␀ | ^@ | noll tecken |
| 0000 0001 | 1 | 01 | SOH | ␁ | ^A | Start av rubrik |
| 0000 0010 | två | 02 | STX | ␂ | ^B | Början av text |
| 0000 0011 | 3 | 03 | ETX | ␃ | ^C | Slut på text |
| 0000 0100 | 4 | 04 | EOT | ␄ | ^D | Slut på överföring |
| 0000 0101 | 5 | 05 | ENQ | ␅ | ^E | Fråga |
| 0000 0110 | 6 | 06 | ACK | ␆ | ^F | Mottagningsbevis |
| 0000 0111 | 7 | 07 | BEL | ␇ | ^G | Dörrklocka |
| 0000 1000 | 8 | 08 | BS | ␈ | ^H | Rekyl |
| 0000 1001 | 9 | 09 | HT | ␉ | ^I | horisontell flik |
| 0000 1010 | 10 | 0A | LF | ␊ | ^J | radbrytning |
| 0000 1011 | elva | 0B | TV | ␋ | ^K | Vertikal tabell |
| 0000 1100 | 12 | 0C | FF | ␌ | ^L | sidflöde |
| 0000 1101 | 13 | 0D | CR | ␍ | ^M | Bil retur |
| 0000 1110 | 14 | 0E | SW | ␎ | ^N | inaktivera kepsar |
| 0000 1111 | femton | 0F | JA | ␏ | ^O | vända mössor |
| 0001 0000 | 16 | 10 | DLE | ␐ | ^P | escape datalänk |
| 0001 0001 | 17 | elva | DC1 | ␑ | ^Q | Enhetskontroll 1 ( XON ) |
| 0001 0010 | 18 | 12 | DC2 | ␒ | ^R | enhetskontroll 2 |
| 0001 0011 | 19 | 13 | DC3 | ␓ | ^S | Enhetskontroll 3 ( XOFF ) |
| 0001 0100 | tjugo | 14 | DC4 | ␔ | ^T | enhetskontroll 4 |
| 0001 0101 | tjugoett | femton | NAK | ␕ | ^U | negativt erkännande |
| 0001 0110 | 22 | 16 | SYN | ␖ | ^V | standby-synkronisering |
| 0001 0111 | 23 | 17 | ETB | ␗ | ^W | Slutet på transmissionsblocket |
| 0001 1000 | 24 | 18 | HUND | ␘ | ^X | Avbryt |
| 0001 1001 | 25 | 19 | FRÖKEN | ␙ | ^Y | slutet av mitten |
| 0001 1010 | 26 | 1A | SUB | ␚ | ^Z | utbyte |
| 0001 1011 | 27 | 1 B | ESC | ␛ | ^[ eller ESC | Uttömma |
| 0001 1100 | 28 | 1 C | FS | ␜ | ^\ | filavgränsare |
| 0001 1101 | 29 | 1D | GS | ␝ | ^] | gruppseparator |
| 0001 1110 | 30 | 1E | RS | ␞ | ^^ | postavskiljare |
| 0001 1111 | 31 | 1F | USA | ␟ | ^_ | drivavskiljare |
| 0111 1111 | 127 | 7F | AV | ␡ | ^? eller av | Dämpa |
ASCII utskrivbara tecken
Tecknet "mellanslag" betecknar mellanrummet mellan ord och produceras vanligtvis av mellanslagstangenten på ett tangentbord. Koderna 32 till 126 är kända som utskrivbara tecken, och de representerar bokstäver, siffror, skiljetecken och olika symboler.
Sju-bitars ASCII tillhandahåller sju "nationella" tecken, och om din speciella kombination av hårdvara och mjukvara tillåter det, kan du använda tangentkombinationer för att simulera andra internationella tecken: i dessa fall kan ett backsteg föregå ett backsteg eller backtick (på brittiska och amerikanska standarder, men bara i dessa standarder, kallas också "öppnande enkla citattecken"), en tilde eller ett "andningstecken".
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}|~
|
|
|
Strukturella egenskaper
- Siffrorna 0 till 9 representeras med sina värden prefixerade med värdet 0011 i binär (detta betyder att BCD -ASCII-konverteringen är en enkel fråga om att ta varje bcd-enhet och prefixa den med 0011).
- Bitsträngarna för gemener och versaler skiljer sig bara åt med en bit, vilket förenklar omvandlingen från en grupp till en annan.
Andra namn för ASCII
RFC 1345 (publicerad juni 1992) och IANA -teckenkodregistret känner igen följande alternativa namn för ASCII för användning på Internet.
- ANSI_X3.4-1968 (kanoniskt namn)
- ANSI_X3.4-1986
- ASCII
- US-ASCII (rekommenderat MIME-namn)
- oss
- ISO646-US
- ISO_646.irv:1991
- iso-ir-6
- IBM367
- cp367
- csASCII
Av dessa är det bara namnen "US-ASCII" och "ASCII" som används allmänt. De finns ofta i den valfria "teckenkod"-parametern i Content-Type-huvudet i vissa MIME -meddelanden , i motsvarande "meta"-element i vissa HTML -dokument och i teckenkodningsdeklarationens del av rubriken. i vissa XML- dokument .
ASCII-varianter
När datortekniken spreds över hela världen utvecklades olika standarder och företag utvecklade många varianter av ASCII-koden för att göra det lättare att skriva andra språk än engelska som använder latinska alfabet. Vissa sådana varianter kan klassificeras som " Utökad ASCII ", även om termen ibland används felaktigt för att täcka alla varianter, även de som inte bevarar den ursprungliga sjubitars ASCII-teckenkodsuppsättningen.
ISO 646 (1972), det första försöket att åtgärda den pro-engelska teckenkodningsbias, skapade kompatibilitetsproblem, eftersom det också var en 7-bitars teckenkod. Du har inte angett några ytterligare koder, så du tilldelade om några specifikt för de nya språken. På så sätt blev det omöjligt att veta i vilken variant texten var kodad, och följaktligen kunde ordbehandlaren bara hantera en variant.
Tekniken förbättrades och gav medel för att representera informationen kodad i den åttonde biten av varje byte, vilket frigjorde denna bit, vilket lade till ytterligare 128 teckenkoder som blev tillgängliga för nya tilldelningar. Till exempel utvecklade IBM 8-bitars teckentabeller, som teckentabell 437 , som ersatte kontrolltecken med grafiska symboler som smileys, och mappade andra ytterligare grafiska tecken till de översta 128 byten på teckentabellen.
Vissa operativsystem, som DOS , kunde fungera med sådana teckentabeller, och persondatortillverkare inkluderade stöd för sådana sidor i sin hårdvara.
Åttabitarsstandarder som ISO 8859 och Mac OS Roman utvecklades som äkta tillägg till ASCII, vilket lämnade de första 127 tecknen intakta och lägger bara till ytterligare värden över 7-bitars. Detta möjliggjorde representation av ett bredare utbud av språk, men dessa standarder fortsatte att lida av inkompatibiliteter och begränsningar. Fortfarande idag är ISO-8859-1 och dess variant Windows-1252 (ibland felaktigt kallad ISO-8859-1) och den ursprungliga 7-bitars ASCII-koden de mest använda teckenkoderna.
Unicode och Universal Character Set (UCS) ISO/IEC 10646 definierar en mycket större uppsättning tecken, och deras olika kodningsformer har börjat ersätta ISO 8859 och ASCII snabbt i många miljöer. Medan ASCII i princip använder 7-bitarskoder, använder Unicode och UCS "kodpunkter" eller relativt abstrakta pekare: positiva tal (inklusive noll) som tilldelar sekvenser på 8 eller fler bitar till tecken. För att möjliggöra kompatibilitet tilldelar Unicode och UCS de första 128 pekarna till samma tecken som ASCII-koden. På detta sätt kan ASCII ses som en mycket liten delmängd av Unicode och UCS. Den populära UTF-8-kodningen rekommenderar användning av en till fyra 8-bitars värden för varje pekare, där de första 128 värdena pekar på samma tecken som ASCII. Andra teckenkodningar som UTF-16 liknar ASCII i hur de representerar de första 128 tecknen i Unicode, men tenderar att använda 16 till 32 bitar per tecken, så de kräver korrekt konvertering för kompatibilitet mellan de två teckenkoderna.
Ordet ASCIIbetical (eller, vanligare, det "engelska" ordet ASCIIbetical ) beskriver sortering enligt ASCII-kodordning snarare än alfabetisk ordning. [ 7 ]
Förkortningen ASCIIZ eller ASCIZ hänvisar till en nollterminerad teckensträng . Det är mycket normalt att ASCII-koden integreras i andra mer sofistikerade kodningssystem och av denna anledning måste det vara tydligt vilken roll ASCII-koden spelar i en dators tabell eller teckenkarta.
ASCII-konst
_ _ ____ ____ ___ ___ __ _ _ __| |_ ____ /_\ / ___| / ___|_ _|_ _| / _` | '__| __|/ __ \ //_\\ \____ \| | | | | | | (_| | | | |_| ___/ / ___ \ ___) | |___ | | | | \__,_|_| \__|\____) /_/ \_\____/ \____|____|___| |
ASCII-teckenkoden är stöd för en minoritetskonstnärsdisciplin, ASCII art , som består av sammansättning av bilder med utskrivbara ASCII-tecken. Den resulterande effekten har jämförts med pointillism , eftersom bilder producerade med denna teknik i allmänhet uppskattas mer detaljerat när de ses på avstånd. ASCII-konst började som en experimentell konst, men den blev snart populär som ett sätt att representera bilder på media som inte kunde bearbeta grafik, såsom teletyper , terminaler , e- postmeddelanden eller vissa skrivare.
Även om du kan komponera ASCII-konst manuellt med en textredigerare, kan du också automatiskt konvertera bilder och videor till ASCII med hjälp av programvara, som det populära Aalib-biblioteket (fritt licensierat). Aalib stöds av vissa grafiska designprogram, spel och videospelare.
Se även
- Textfiler och binära filer
- B C D
- EBCDIC
- utökad ASCII
- ISC II
- ISO8859
- ascii spel
- unicode
- UTF-8
- Knappsatskoder
- ACID-produktioner
- ascii konst
ASCII-varianter av specifika datorer
Anteckningar och referenser
- ^ a b Mackenzie, Charles E. (1980). "Kodade teckenuppsättningar, historia och utveckling". Systems Programming Series (1 upplaga) (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]
- ↑ Internationaliserade domännamn - Ordlista , Internet Corporation for Assigned Names and Numbers (ICANN). Hämtad 19 november 2008.
- ↑ International Organization for Standardization ( 1 december 1975 ). ISO 646-teckenuppsättningen . Internet Assigned Numbers Authority Registry . Åtkomst 7 augusti 2005 .
- ↑ International Organization for Standardization ( 1 december 1975 ). Internet Assigned Numbers Authority Registry . USA version . Åtkomst 7 augusti 2005 .
- ↑ Internet Assigned Numbers Authority (28 januari 2005). Teckenkoder . Åtkomst 7 augusti 2005.
- ↑ ECMA International (december 1991). Standard ECMA-6: 7-bitars kodad teckenuppsättning, 6:e upplagan Åtkomst 17 december 2005.
- ↑ Jargongfil. ASCIIbetisk . Åtkom den 17 december 2005.
Allmänna referenser
- Unicode.org Unicode-diagram över ASCII-zonen
- Tom Jennings ( 29 oktober 2004 ) . Kommenterad historik över teckenkoder Åtkomst 17 december 2005 .
Externa länkar
- ASCII-tecken och kod Onlineverktyg som visar ASCII-tecken och deras omvandlingar till andra talsystem.
- Ascii Code To Character Converter på binaryconverterpro.com
- Konvertering till och från decimal, oktal, hexadecimal, binär (ASCII-notation)
- ASCII-koden. Ascii-koden, tabell tillgänglig för PC och mobila enheter.
- www.elcodigoascii.com.ar ASCII-koden. Tabell med enkla och kompletta ASCII-koder.