Google Play badge

ascii


ASCII: Hur datorer lagrar bokstäver och symboler

Den stora idén

Datorer använder siffror. Människor använder bokstäver och symboler. Vi behöver en brygga. ASCII är den bryggan. ASCII omvandlar varje bokstav eller symbol till ett nummer. Datorn lagrar numret. När vi läser visar datorn bokstaven igen. Så här fungerar text i många filer och appar.

Varför datorer behöver en kod

En dator arbetar med elektricitet. Den ser två tillstånd. På och Av. Vi kallar dessa tillstånd bitar . En bit är en 0 eller en 1. Många bitar tillsammans bildar större tal. Åtta bitar bildar en byte . Med bitar kan vi räkna. Med räkning kan vi namnge saker. ASCII använder räkning för att namnge bokstäver och symboler.

En bit ger två val. Två bitar ger fyra val. I matematik visas denna idé som \(\;2^n\) . För \(n=7\) får vi \(2^7 = 128\) val. För \(n=8\) får vi \(2^8 = 256\) val. ASCII använder 7 bitar. Det ger 128 namngivna objekt. Senare skapade människor 8-bitarsmängder med 256 objekt. Dessa kallas utökad ASCII .

Vad ASCII betyder

ASCII står för American Standard Code for Information Interchange . Det började på 1960-talet. Det skapades för tidiga skrivare, teletyper och datorer. Det ger varje bokstav, siffra, mellanslag och vissa symboler ett nummer. Det ger också specialnummer till handlingar som ny rad . Den första versionen använde 7 bitar, så den hade siffror från 0 till 127.

Vad finns inuti ASCII
Enkla kartexempel

Lägg märke till något snyggt. Små bokstäver är 32 fler än deras stora bokstäver. Till exempel, \(\;97 - 65 = 32\) . Så 'a' är 32 fler än 'A'. 'b' är 32 fler än 'B', och så vidare. Detta mönster gör vissa datoruppgifter enkla.

Kontrolltecken i vanliga ord

När du trycker på Enter-tangenten kan din dator skicka LF, CR eller båda, beroende på systemet. Många internetverktyg använder LF. Vissa äldre system använde CR och LF tillsammans.

Decimal-, binär- och hexagonalvyer

Vi kan skriva tal på olika sätt. Decimalt är det vanliga sättet vi räknar på, med siffrorna 0 till 9. Binärt använder endast 0 och 1. Hexadecimalt använder siffrorna 0 till 9 och A till F.

Hur skapar en binär funktion 65 för 'A'? Titta på bitarna i 01000001. Den vänstra biten är för 128. Sedan 64, 32, 16, 8, 4, 2, 1. Endast 64 och 1 är aktiverade. Så \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .

Från tangentbord till skärm

Tryck på en tangent. Tangentbordet skickar en kod till datorn. Systemet omvandlar den till ett teckennummer. För många tangenter är det numret ASCII-numret. Appen lagrar numret i minnet. När texten visas slår den upp numret och ritar bokstaven. När du sparar sparas siffrorna i filen.

Hur text färdas över ett nätverk

Tänk på meddelandet Hej!. Bokstäverna är H, i och !. Deras ASCII-nummer är 72, 105 och 33. I binärt format är de 01001000, 01101001 och 00100001. Nätverket skickar dessa bitar. Den andra sidan läser bitarna. Den ser siffrorna. Den visar H, i och ! igen. Det är så enkla textmeddelanden rör sig.

Utökade ASCII- och teckentabeller

Folk ville ha fler symboler. De ville ha bokstäver som é, ñ och ø. De ville ha penningtecken som €. 7-bitarsmängden hade bara 128 symboler. Så folk använde 8 bitar. Med 8 bitar får vi \(2^8 = 256\) symboler. Den övre halvan, från 128 till 255, användes för extra bokstäver och symboler. Men det fanns ett problem. Olika grupper valde olika siffror för dessa extra bokstäver. Dessa val kallas teckentabeller .

Eftersom teckentabeller skiljer sig åt kan samma nummer visa en annan symbol på en annan dator. Denna förväxling kallas mojibake . Det ser ut som konstiga tecken. Det är en av anledningarna till att världen övergick till Unicode.

ASCII och Unicode

Unicode är en stor standard som kan visa många språk, matematiska symboler och emojis. Den har plats för mer än en miljon symboler. Det finns många sätt att lagra Unicode. Ett populärt sätt är UTF-8 .

Hur många byte använder text

Med endast ASCII-text använder varje tecken en byte. Så ordet katt använder 3 byte. Frasen hej mamma har 6 tecken inklusive mellanslag, så den använder 6 byte. Enkelt uttryckt \(\textrm{ASCII-byte} = \textrm{antal tecken}\) .

Sorteringsordning med ASCII

Datorer sorterar ofta strängar efter deras teckennummer. ASCII-ordning grupperar saker på ett visst sätt.

Det betyder att Zoo kommer före apple om vi jämför enkla ASCII-värden. Sorteringen sker efter siffror, inte efter hur ord låter.

Vanliga ASCII-koder att känna till

Lägg märke till att et-tecknet är &. Dess ASCII-nummer är 38. Plustecknet + är 43. Minustecknet - är 45.

Verkliga användningsområden inom vardagsteknik
ASCII-mönster som hjälper
Hur man kan skapa bilder med ASCII

Människor gör bilder med bara tecken. Detta kallas ASCII-konst . Här är ett litet ansikte gjort med ASCII-tecken.

:-) Enkelt leende
(^_^) Vänligt ansikte
o_O Förvånad

Varje ansikte är bara tecken som kolon, bindestreck och parenteser. Inga färger eller former. Bara text.

Historia i korthet, med enkla ord

ASCII växte fram från teletyper och tidiga datorer. År 1963 enades man om en första version. Den hjälpte många olika maskiner att kommunicera med varandra. Med en gemensam kod betydde en bokstav som A samma nummer överallt. Detta gjorde det lättare att skicka meddelanden och skriva ut text.

När ASCII inte räcker

ASCII har bara 128 objekt. Det räcker inte för alla språk. Den kan inte visa kinesiska, hindi, arabiska eller många andra skrifttyper. Den kan inte visa emojis. Den kan inte heller visa många matematiska och musikaliska symboler. För dessa använder vi Unicode. Unicode kan visa många skrifttyper och symboler. UTF-8 är ett sätt att lagra dem. Den goda nyheten är att all ASCII-text fungerar inuti UTF-8. Så moderna system kan enkelt läsa gammal ASCII.

Hur appar hanterar ASCII idag

De flesta appar förväntar sig UTF-8. Men när en fil bara innehåller ASCII-bokstäver och symboler ser den likadan ut under UTF-8. Programmerare gillar detta eftersom det förenklar saker och ting. Webbsidor, API:er och många verktyg använder UTF-8, vilket inkluderar ASCII utan ändringar.

Små talfakta och vänlig matematik

ASCII är en 7-bitarsmängd. Det betyder upp till \(2^7 = 128\) olika tecken. En utökad mängd med 8 bitar har \(2^8 = 256\) objekt. Om din text bara har ASCII-tecken, och den har \(n\) tecken, använder den \(n\) byte. I ett litet meddelande som OK , \(n = 2\) . Så den använder 2 byte när den lagras som ASCII eller UTF-8.

Att se dolda karaktärer

Vissa ASCII-element utför åtgärder men skrivs inte ut. Mellanslag skriver ut tomma rutor. Men LF och CR flyttar markören. TAB hoppar. När vi öppnar en fil i en speciell editor kan den visa LF som \n. Den symbolen är inte en del av själva ASCII. Det är ett sätt som editorn visar radbrytningen för dig.

Enkla exempel som känns verkliga
Saker att se upp för
Hur enheter använder ASCII i enkla steg

Tänk dig en etikettskrivare som skriver ut namn. Den läser namnet som tecken. Den omvandlar varje tecken till ASCII-nummer. Den lagrar dessa siffror i minnet. Den skriver ut bokstäverna genom att slå upp hur man ritar varje nummer. Om den uppfyller LF (10) går den vidare till nästa rad innan den skriver ut fler.

Jämförelse av tre sätt att skriva kod för ett tecken

Titta på tecknet '!' igen. Vi kan skriva dess kod på tre sätt. Decimal: 33. Binär: 00100001. Hex: 21. I matematisk form \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . Varje form har samma värde. Appar väljer den form de behöver. Folk läser ofta decimal. Datorer gillar binär. Hex är ett kort sätt för folk att läsa binära tal.

Varför ASCII varade så länge

ASCII är litet och tydligt. Det skapades tidigt. Många verktyg och protokoll byggdes på det. Eftersom de första 128 Unicode-koderna matchar ASCII fungerar planen fortfarande idag. Det är därför du kan öppna mycket gamla textfiler på en ny telefon eller bärbar dator och se samma bokstäver.

Minigenomgång: läsning av en kort fil

Öppna en fil med texten Hello . Bytena är ASCII-talen 72 101 108 108 111. I binärt format är de 01001000 01100101 01101100 01101100 01101111. Appen läser varje siffra och ritar Hello på skärmen. Om nästa siffra är 10, flyttas den till en ny rad innan mer text ritas. Så här enkel och stabil är processen.

När man ska välja endast ASCII
Viktiga symboler som folk ofta använder
Snabb kontroll av bitsidéer med små siffror

Tänk på talet 10. I binärt tecken är det 00001010. I decimalt tecken är det tio. I ASCII är 10 LF, radmatningen. Detta visar hur samma tal kan visas på olika sätt. Betydelsen kommer från hur vi använder talet. Om vi ​​säger att det är en teckenkod, då betyder 10 LF. Om vi ​​säger att det bara är ett antal äpplen, då är det tio äpplen. Sammanhang spelar roll.

Sammanfattar allt med ytterligare ett exempel

Vi skickar ordet Sol från en enhet till en annan. Koderna är 'S' 83, 'u' 117, 'n' 110. I binärt tal är 83 01010011, 117 är 01110101, 110 är 01101110. Bitarna färdas som På- och Av-signaler. Den andra enheten omvandlar bitar tillbaka till siffror. Sedan omvandlar den siffror till bokstäver. Den visar ordet Sol . Om nästa kod är 32 är det ett mellanslag. Om nästa är 33 är det '!'. Reglerna förblir desamma varje gång. Det är kraften i en delad kod.

Download Primer to continue