close

ASCII

Gå till navigering Gå till sök
ASCII
ASCII full.svg
Utskrivbara ASCII-tecken, från 32 till 128
Idiom engelsk Visa och ändra data i Wikidata
Följande ISO/IEC 8859 och ISO 646 Visa och ändra data i Wikidata

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

Image
US 1968 ASCII-kodbokstaven var strukturerad med två kolumner med kontrolltecken, en kolumn med specialtecken, en kolumn med siffror och fyra kolumner med bokstäver

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 [æ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 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{}|~

Binär dec hex Representation
0010 0000 32 tjugo Plats ( )
0010 0001 33 tjugoett !
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 Fyra fem 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 femtio 32 två
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 Representation
0100 000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B.
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 Fyra fem OCH
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 ANTINGEN
0101 0000 80 femtio P
0101 0001 81 51 F
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 Representation
0110 0000 96 60 `
0110 0001 97 61 a
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 och
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 antingen
0111 0000 112 70 sid
0111 0001 113 71 Vad
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 ~

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

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

Image
Lejonbild skapad med 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

ASCII-varianter av specifika datorer

Anteckningar och referenser

  1. ^ 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] 
  2. Internationaliserade domännamn - Ordlista , Internet Corporation for Assigned Names and Numbers (ICANN). Hämtad 19 november 2008.
  3. International Organization for Standardization ( 1 december 1975 ). ISO 646-teckenuppsättningen . Internet Assigned Numbers Authority Registry . Åtkomst 7 augusti 2005 .
  4. International Organization for Standardization ( 1 december 1975 ). Internet Assigned Numbers Authority Registry . USA version . Åtkomst 7 augusti 2005 .
  5. Internet Assigned Numbers Authority (28 januari 2005). Teckenkoder . Åtkomst 7 augusti 2005.
  6. ECMA International (december 1991). Standard ECMA-6: 7-bitars kodad teckenuppsättning, 6:e upplagan Åtkomst 17 december 2005.
  7. Jargongfil. ASCIIbetisk . Åtkom den 17 december 2005.

Allmänna referenser

Externa länkar