Hem : Recensioner : Artiklar/Guider : Tävlingar : Forumindex : Klan 64 : Filer : Länkar : SweLan : Kontakta 64bits
   
 
 


100 000
Dual Athlon
FOP38
Abit BIOS
Kopparkotte
CS Server i Linux
Kvällsnews

Arkiverade nyheter


Pentium 4 1.5 GHz
Nätverks LED
Ratpadz
VM2000 VGA->TV
Live! Player 5.1
CC5 - Normandy
Soltek KT133A


Forumindex

Allmänt prat
Hårdvara
Spel/Mjukvara
Köp & Sälj


Tävlingsinfo

3D Mark 2000
Performance Test

_________________

Sidan är anpassad för Internet Explorer 4 eller senare, och upplösningen 1024*768 med 32 bitars färgdjup.

64 bits tar inget ansvar för vad som händer med din dator efter att ha följt instruktioner som finns på denna sida.

Innehållet på denna sida tillhör 64 bits och får ej användas, kopieras eller på annat sätt spridas utan tillåtelse av 64 bits.
© 64 bits 2000-2001

ASCII - Hur det fungerar

Inledning
Om ASCII
Hur det fungerar
Konventera mellan systemen
Vilka siffror till vilka tecken?
Andra alternativ
Kuriosa
A S C I I


13/2-01 | whiz | whiz@64bits.se

Inledning

Har du någonsin funderat på hur det kommer sig att din dator verkligen skriver ut ett "a" på skärmen när du trycker på "a" tangenten på ditt skrivbord?

Har du läst vår artikel om det binära talsystemet så vet du att vad datorn egentligen gör är att skilja på "1" och "0", inte mellan a, b, c, och d, o.s.v. Hemligheten ligger i hur datorn tolkar ett och noll, ett sätt att göra det är genom ASCII systemet.



Om ASCII

ASCII uttalas "aski" och står för "American Standard Code for Information Interchange", översatt till svenska skulle det betyda amerikansk standardkod för informations utbyte.

Redan i namnet hör vi vad ASCII utvecklades för, att utbyta information (bokstäver, siffror och andra tecken) mellan datorer. ASCII skapades av ANSI (American National Standards Institute) som utvecklar standarder för elektronik och teknologi inom USA. ANSI är en del av den internationella ISO standarden (International Organization for Standardization), därför dröjde det inte länge förrän den spreds internationellt. ASCII är den idag mest använda standarden för textfiler i datorer och på Internet.

Alla UNIX och DOS baserade operativsystem använder sig av ASCII förutom Windows NT. NT använder det nyare och mycket mer utvecklade "Unicode" systemet. Det finns också många andra system som "EBCDIC" (extended binary-coded decimal interchange code), det används nästan enbart av IBM i sitt OS/390 operativsystem som finns på S/390 servrarna. Skillnaderna mellan ASCII och EBCDIC är inte stora och det går snabbt att omvandla mellan de olika systemen. Men mer om det senare.



Hur det fungerar

Hur kan då "1100001" bli "a"? Det ska vi lära oss nu. Det finns två sorters ASCII, det gamla 7 bitars systemet som tillät 128 tecken och det nyare 8 bitars systemet som tillåter 256 tecken. Faktum är att ett tredje sätt med 5 bitar fanns, den s.k. "Baudot" koden, den används inte längre. För att lättare förstå hur datorn fungerar med ettor och nollor rekommenderar jag dig att läsa vår artikel om binära tal som du hittar här.

Du trycker alltså på tangenten för "a" och det skickas en signal till datorn, ASCII beteckningen för "a" är 97 och då skickas en kombination av sju ettor och nollor.

64
32
16
8
4
2
1
1
1
0
0
0
0
1

Informationen som skickades var alltså 97, 1100001 enligt det binära talsystemet. Och 97 är koden för "a" som träder fram på skärmen. Den ursprungliga ASCII koden byggdes alltså upp av 7 bitar och övergick senare till 8 bitar, därför är endast de 128 första tecknen gemensamma för de flesta datorsystem, svenskans å, ä, ö ingår tyvärr inte, därför finns det en svensk nationell standard. Man byter helt enkelt ut ][\}{| mot ÅÄÖåäö. Det här lilla knepet kallas för svensk 7 bitars teckenkod.

Kikar vi i en ASCII tabell hittar vi en intressant detalj, våra svenska bokstäver blir i fel inbördes ordning "ÄÖÅ", teorierna till varför man gjort det här klumpiga lilla snedsteget är många och en av dem är att man ville samarbeta med Tyskland som bekant inte använder "Å". Det här ställde i svensk databashanterings barndom till en hel del problem, faktum var att vissa program använde det faktum att det kunde sortera svenska tecken rätt som ett kraftigt försäljningsargument.


Konventera mellan olika system

Så hur bär man sig åt om man skickar en textfil mellan två datorer. I exemplet skickar vi ett e-mail mellan Avsändare och Mottagare med namnet "Pål" i. Den första och sista bokstaven bör inte vara något problem men där i mitten stöter vi på krångel, genom bokstaven "å". I avsändarens svenska Windows så dyker "å" upp som nummer 125, i mottagarens engelska så är 125 samma sak som "}", för att inte Pål ska bli P}l hos mottagaren krävs det en konventering. Detta sköts enkelt om genom MIME (Multipurpose Internet Mail Extensions) standarden i e-mailprogrammet. MIME standarden betyder i det här fallet att information om vilken teckenuppsättning som används skickas med i mailet, hos mottagaren sker sedan en automatisk konventering där 125 blir 229, "å" i den utökade 8 bitars ASCII koden. På samma sätt används det när man ska konventera mellan olika system. Exemplet nedan bör förtydliga det hela.

Från avsändare till mottagare mellan konventerare.


Vilka siffror till vilka tecken?

Enkelt förklarat så innehåller nummer 0 till 32 styrkoder, de används för t.ex. effekter på en skrivare eller att styra datorkommunikation.

Nummer 33 till 126 (127 är en styrkod) innehåller bokstäver, siffror och specialtecken som [(=, för att ytterligare komplicera det hela skiljer sig vissa tecken som "#" mellan olika datorer, på vissa blir "#" ett nummertecken på andra ett inhägnadstecken. Andra skillnader finns också.

När vi kommer in på den utvidgade ASCII koden, nummer 128 - 256 dyker specialtecken som "©" upp, även här finns det olika sätt att tolka det, speciellt mellan PC och Mac. Det här med standarder är ett alltför luddigt begrepp.

För en tabell över de 128 första ASCII koderna rekommenderar jag dig att besöka MultiMediaLab vid Växjö Universitet.


De andra alternativen

IBM:s EBCDIC uttalas "ehb-suh-dik" eller "ehb-kuh-dik" och är uppbyggd på ett liknande sätt, dock används bara 8 bitar. Vanliga PC:s från IBM använder inte EBCDIC utan även här är det ASCII som gäller.

Unicode är något helt annat, det hette från början Unicode Worldwide Character Standard och bygger på en helt ny ide inom binära koder för tecken. Unicode stödjer 34168 tecken uppdelade på 24 olika språk, det täcker till stora delar de mesta förekommande språken även om det fortfarande utvecklas. Unicode används idag på Windows NT.


Kuriosa

Har du någon gång stött på en bild endast uppbyggd av tecken? Då har du stött på s.k. "ASCII-art", den har på senare tid blivit en riktig fluga men har faktiskt hunnit utvecklas under hundratals år.

Pionjären bakom det hela var skrivmaskinens fader Christopher Latham Sholes, då kallades det självklart inte ASCII-art utan gick under namnet "art typing".

En annat person som gjorde sig känd genom art-typing var Gwang Hyuk Lee, som någon gång under Koreakriget 1950 tog hela Johannesevangeliumet ur Bibeln och skapade en stor bild av Jesus. Hans konstverk uppskattades dock inte av de nordkoreanska kommunisterna så han dödades sonika för sitt lilla "brott".

Vill du själv göra ett försök med ASCII-art kan jag rekommendera programmet Email Effects från Sigsoftware.

64Bits
Du kan säkert lyckas bättre än vad jag gjorde? ;-)




13/2-01 | whiz | whiz@64bits.se





Design och layout av fred [Fredrik Bränström]


Besök våra forum. Behöver ni hjälp eller vill sälja något så är det platsen för dig.


Har du en nyhet som du vill tipsa andra om? Skicka ett e-brev till: nyheter@64bits.se.


Besök 64bits på IRC. Gå in på DALnet och in på #64bits.se.

Quake Nexus


Gör reklam för ditt företag genom att sponsra med hårdvara.


64bits söker nytt webbhotell. Hör med oss om du har en lösning.