Gå til innhold

Hvorfor genereres det ikke en ASCII kode direkte?


Anbefalte innlegg

Videoannonse
Annonse
Hva mener du med "generere en ASCII kode direkte"?

 

edit: velkommen til forumet forresten :fun:

Jeg vet egentlig ikke hva jeg mener med det, men jeg har en oppgave på skolen som var slik:

 

Forklar hva som menes med ASCII kode, og hvorfor det ikke genereres en ASCII kode direkte når man trykker på en tast på tastaturet?

 

Jeg skjønte egentlig ikke så mye av det, så lure på om dere vet noe?

 

 

Takk for at du ønsket meg velkommer:)

 

MVH vidar

Lenke til kommentar
Det genereres spesielle koder, en for når tasten trykkes inn og en annen når tasten slippes ut igjen. Dette er vesentlig mer fleksibelt enn hvis keyboard hadde generert ASCII direkte.

Det er dessuten mange taster på et keyboard som ikke kan representeres med ASCII, f.eks F1 - F12, PrtSc, etc.

Er dette et bra nok svar da? Læreren sa no om no kommunikasjon med datamaskinen og no med no avbrudd eller noe saån, fikk det ikke helt med meg?

 

mvh vidar

Lenke til kommentar

Definisjonen på ASCII:

Hvis en f.eks. tar utgangspunkt i en tekstfil: Den inneholder massevis av 1'ere og 0'ere. Hvert tegn er 8 1'ere og 0'ere, som da er et tall mellom 0 og 255.

For at maskinen skal kunne vise teksten, så må den ha en oversikt over hvilke tegn som skal vises når en fil inneholder de og de tallene. For eksempel: 65=A, 66=B, 67=C osv.

Hvis du har en fil som inneholder "ABC", så vil den se sånn ut i binær form:

01000001 01000010 01000011

 

Ellers finner du mye ved å søke litt på internett.

 

edit: så en ASCII-kode er rett og slett et tall som representerer et tegn.

 

edit2: Jeg kan også nevne at det finnes 128 tegn i den standard ASCII-tabellen (0-127) og 128 til i Extended ASCII tabellen (128-255).

Endret av ZiggWarth
Lenke til kommentar
Hvis tastaturet gir ascii koden til maskinen, hvordan skal du kunne endre språk...

Mappingen mellom taster og bokstaver/ascii må håndteres av driveren.

Det jeg lure litt på? Hvofor det er slik? hvorfor det blir andre tastet når du setter på engelsk tastatur, som foreksepel Ø blir : på engelsk?

 

mvh vidar

Lenke til kommentar
Hvis tastaturet gir ascii koden til maskinen, hvordan skal du kunne endre språk...

Mappingen mellom taster og bokstaver/ascii må håndteres av driveren.

Det jeg lure litt på? Hvofor det er slik? hvorfor det blir andre tastet når du setter på engelsk tastatur, som foreksepel Ø blir : på engelsk?

 

mvh vidar

Det er vel rett og slett at når du setter operativsystemet til å bruke et annet keyboard-layout, så oversetter driveren kodene som blir sendt fra tastaturet forskjellig.

Lenke til kommentar

Dette fordi det kun er standard ASCII 7Bit som er standard, spesialtegn som æøå hører til utvidet ASCII tabell som er på et ekstra bit som gir de siste 128 karakterene, men disse vil variere. Ellers kan du teste ASCII ved å holde inne alt knappen imens du skriver en tresifret tallkode med det numeriske tastaturet

 

Ellers er ASCII en ganske gammel standard, nye operativsystemer benytter b.la ANSI tabellen i stedet.

Lenke til kommentar
Hvis tastaturet gir ascii koden til maskinen, hvordan skal du kunne endre språk...

Mappingen mellom taster og bokstaver/ascii må håndteres av driveren.

Det jeg lure litt på? Hvofor det er slik? hvorfor det blir andre tastet når du setter på engelsk tastatur, som foreksepel Ø blir : på engelsk?

 

mvh vidar

Det er vel rett og slett at når du setter operativsystemet til å bruke et annet keyboard-layout, så oversetter driveren kodene som blir sendt fra tastaturet forskjellig.

Ja, men hvorfor oversetter den forskjellig?

Lenke til kommentar
Ja, men hvorfor oversetter den forskjellig?

Tastaturene er bygd opp på samme måte. Eneste forskjellen er at tegnet på tasten ikke er likt. Det vil si at hvis du trykker ø på et norsk tastatur eller : på et engelsk tastatur så er det egentlig samme knapp. Det vil si at det er samme signal som blir sendt fra tastaturet og inn til pcen. Og når signalet er kommet der så vil det bli vist et tegn på skjermen avhengig av hvilket språk du har på tastaturoppsettet.

Lenke til kommentar

ASCII var vel hvis jeg ikke husker helt feil den første standarden man fikk for å representere tegn i datamaskiner, kom vel på 60- 70-tallet og var opprinnelig et 7-bits system som altså hadde 2^7=128 tegn. Senere trengtes det flere tegn og man laget seg da Extended ASCII som var et 8-bits tegnsett som inneholdt 2^8=256 tegn. Tror ikke ANSI har noen standarder for tegnsett, det som brukes i dag er ihvertfall stort sett unicode, som i nyeste revisjon er et 32 bits system. Det har da støtte for vanvittig mange tegn...

Lenke til kommentar
ASCII var vel hvis jeg ikke husker helt feil den første standarden man fikk for å representere tegn i datamaskiner, kom vel på 60- 70-tallet og var opprinnelig et 7-bits system som altså hadde 2^7=128 tegn. Senere trengtes det flere tegn og man laget seg da Extended ASCII som var et 8-bits tegnsett som inneholdt 2^8=256 tegn. Tror ikke ANSI har noen standarder for tegnsett, det som brukes i dag er ihvertfall stort sett unicode, som i nyeste revisjon er et 32 bits system. Det har da støtte for vanvittig mange tegn...

Unicode er vel 16bits? Det var ihvertfall :p

Har verden bruk for mer enn 65536 tegn som 16bits unicode har?... :hmm:

Endret av ZiggWarth
Lenke til kommentar
Det jeg lure litt på? Hvofor det er slik? hvorfor det blir andre tastet når du setter på engelsk tastatur, som foreksepel Ø blir : på engelsk?

Det er to forskjellige ting her som jeg føler blir litt blandet sammen, hva som står oppå tastene og hvilke tegn som kommer når du trykker på dem. Du kan fortelle PCen din at du har et engelsk tastatur og da vil du få : i stedet for ø, * i stedet for ( og en del andre endringer selv om det fortsatt står det samme oppå tastene dine. Hvis du kobler et engelsk tastatur på maskinen din, og fortsatt forteller den at du har et norsk tastebrett, vil du få ø når du trykker tasten til høyre for l, selv om det nå står : oppå den. (enda morsommere med franske tastatur som foruten å mangle (selvfølgelig) æøå har byttet om på a og q og w og z) men bortsett fra hva som står oppå tastene er det ingen forskjell på et norsk, svensk, engelsk, fransk, ... eller for den saks skyld russisk eller gresk tastatur. Hvilke tegn som kommer opp bestemmes av operativsystemets keyboarddriver som gjør om scankodene (som bare sier 'nå ble tasten øverst nest lengst til venstre trykket ned') til det aktuelle tegnet (1).

 

Litt klarere nå?

 

M.

 

Edit: Så ikke Seymours post... helt enig!

Endret av mysjkin
Lenke til kommentar
ASCII var vel hvis jeg ikke husker helt feil den første standarden man fikk for å representere tegn i datamaskiner, kom vel på 60- 70-tallet og var opprinnelig et 7-bits system som altså hadde 2^7=128 tegn. Senere trengtes det flere tegn og man laget seg da Extended ASCII som var et 8-bits tegnsett som inneholdt 2^8=256 tegn. Tror ikke ANSI har noen standarder for tegnsett, det som brukes i dag er ihvertfall stort sett unicode, som i nyeste revisjon er et 32 bits system. Det har da støtte for vanvittig mange tegn...

Det har du helt rett i, det var Unicode jeg mente å skrive :blush:, men det finnes ANSI tabell også, i stedet for utvidet ASCII ANSI table

Endret av xoop
Lenke til kommentar
ASCII var vel hvis jeg ikke husker helt feil den første standarden man fikk for å representere tegn i datamaskiner, kom vel på 60- 70-tallet og var opprinnelig et 7-bits system som altså hadde 2^7=128 tegn. Senere trengtes det flere tegn og man laget seg da Extended ASCII som var et 8-bits tegnsett som inneholdt 2^8=256 tegn. Tror ikke ANSI har noen standarder for tegnsett, det som brukes i dag er ihvertfall stort sett unicode, som i nyeste revisjon er et 32 bits system. Det har da støtte for vanvittig mange tegn...

Det har du helt rett i, det var Unicode jeg mente å skrive :blush:, men det finnes ANSI tabell også, i stedet for utvidet ASCII ANSI table

ANSI er vel heller de som LAGER disse tabellene?

ANSI er uansett en amerikansk organisasjon som jobber med standarder som dette ihvertfall. ANSI står forresten for American National Standards Institute.

Lenke til kommentar

hei. meg igjen!

 

TIl problemstillingen, hvorofro genereres det ikke en ASCII kode direkte ved et tastetrykk, skrev jeg dette:

 

I prinsippet er det ikke noe forskjell på engelske, franske , norske og greske tastatur, det eneste som er forskjellig er symbolene på tastaturet, men det har ikke noe å si. Hvis du kobler et engelsk tastatur på maskinen din, og fortsatt forteller den at du har et norsk tastebrett, vil du få ø når du trykker tasten til høyre for l, selv om det nå står : oppå den.( Det vil si at tasten med Ø sender samme signalene som tasten : på det engelske tastaturet) Grunnen til dette er at tastaturet sier bare til maskinen hva slags tast som ble tastet ned, som for eksempel, nå ble tasten øverst nest lengst til venstre trykket ned. Så registreres signalet som tasten sendte av operativsystemets keyboarddriver, som gjør om scankodene til det aktuelle tegnet.

 

Dette fikk jeg ut av det fine jeg fikk av dere, men læreren sa det magnlet noe. Jeg vat inne på noe, men alt var ikke der?

 

jeg vet ikke om noe mer å sette inn, noen som klarer å tilføye noe?

 

mvh

vidar :innocent:

Lenke til kommentar
Så registreres signalet som tasten sendte av operativsystemets keyboarddriver, som gjør om scankodene til det aktuelle tegnet.

 

Jeg tror læreren din vil ha litt mer utfyllende svar om dette.

 

To ting;

 

keyboarddriver? Hæ?

scankodene? hæ?

 

Skriv heller om 1 og 0-tall, du. De viktigste byggstenene i PCen din.

 

Hvorfor det ikke registeres som en ASCII-kode direkte, kan være fordi PCen ikke forstår tall. Et eksempel. Hold inne Alt Gr-knappen, trykk 65 på det numeriske tastaturet og slipp så Alt Gr-knappen. Du vil da få opp "A".

 

Altså, den har ASCII-kode 65. PCen skjønner ikke "65". PCen skjønner "1" og "0". Du er litt med nå?

 

Tallet "65" i vårt tallsystem er "1000001" i det binære tallsystemet. Så når du trykker "A" på tastaturet ditt, så sender det altså "koden" (som du sier) "1000001", som blir etterhvert oversatt til "A" som så vises på skjermen.

 

Håper jeg hjalp deg litt på veien. Andre kan helt sikkert utfylle, eller gjøre svaret mitt konsist. Men jeg er nesten helt sikker på at det er noe sånt læreren din er ute etter. (Har dere en lærebok i faget, forresten?)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...