[Powered by Google Translate] NATE Hardison: I videoen på binære, viser vi, hvordan du repræsenterer sættet af hele tal, fra nul op, kun at bruge cifrene nul og én. I denne video, vil vi bruge binær notation til repræsentere tekst, breve og sådan, så godt. Hvorfor skulle vi gider at gøre dette? Nå, under kølerhjelmen, en computer kun virkelig forstår nuller og ettaller, de binære tal, da disse kan repræsenteres nemt med elektromagnetiske ting. For eksempel, tænk på din computers hukommelse som en lang perlerække af pærer, hvor hvert enkelt pære repræsenterer et nul, hvis den er slukket, og en en hvis den er tændt. I stedet for at bruge en masse pærer, nogle moderne hukommelse gør dette ved hjælp kondensatorer, der holder en lav oplades til at repræsentere et nul og et høj ladning at repræsentere en én. Der findes andre metoder også. Anyway, for at lagre noget i hukommelsen, skal vi først konvertere det til noget, der kan være faktisk repræsenteret i den fysiske hardware. Så lad os tænke over, hvordan vi kan repræsentere bogstaver med binær notation. På engelsk har vi 26 bogstaver i alfabetisk, A, B, C, D, og ​​så videre, op gennem Z. Vi kan tildele hver af disse et antal, siger nul til 25, og derefter bruge binær notation, at vi kan repræsentere hvert nummer som en sekvens af nuller og ettaller. Det er ikke alt for dårlig. Dog er der ikke vil være nok. Med dette system kan man faktisk ikke skelne mellem store og små bogstaver. Hvis vi ønsker, at vores computer for at kunne skelne mellem de to sager, har vi brug yderligere 26 numre. Og hvad med perioder, kommaer og andre skilletegn? På mit tastatur, jeg har 32 af dem, herunder alle de specialtegn som f.eks indskudsmærke og tegnet. Det er ikke inklusive cifret karakterer, nul til ni, da vi stadig ønsker at være i stand til at skrive tal i decimal notation på computeren, selvom computeren kun virkelig forstår binær notation under kølerhjelmen. Og endelig vil vi nødt til at repræsentere et mellemrumstegn så at vores Space Bar virker. Så regne ud, hvordan at repræsentere tekst på computeren tager lidt mere, end vi kunne have troet i første omgang. Derudover formoder vi så komme med vores egen kodning ordningen til at repræsentere tegn som tal. Men vi beslutter at indkode tegn vil uundgåeligt være vilkårlig, som vi så tidligere, da vi talte om at bruge numre nul gennem 25 for at repræsentere bogstaverne A gennem Z. Hvorfor ikke bruge 10 til 35, så vi kan spare nul til ni for cifrede karakterer? Der er ingen reel grund, vi bare valgte den virkede bedst for os. Tilbage i begyndelsen af ​​1960'erne, var dette et reelt problem. Forskellige computerproducenter brugte forskellige kodningsskemaer, og dette gjorde kommunikation mellem forskellige maskiner en meget vanskelig opgave. The American National Standards Institute, ANSI, nedsat et udvalg til at udvikle en fælles ordning. Og i 1963, American Standard Code for Information Interchange, mere almindeligt kendt som ASCII, blev født. ASCII var udformet som en syv-bit-kodning, som betyder, at hvert tegn repræsenteres af en kombination af syv nuller og ettaller. Med disse to mulige værdier,, nul eller ét for hver De syv bit er der to til den syvende eller 128 tegn, der kan være repræsenteret med ASCII kodningsskema. Så 128 tegn lyder af meget, ikke? Nå, husk at der er 26 små bogstaver i Engelsk, yderligere 26 store bogstaver, 10 cifre tegn, 32 tegnsætning og specialtegn og ét mellemrum karakter. Det sætter os på 95, så vi har en anden 33 tegn, vi kan repræsentere. Så hvad der er tilbage? Tja, i de dage i udviklingen af ​​ASCII, fjernskriver maskiner, som er skrivemaskiner, der bruges til sende beskeder på tværs af et netværk, var udbredt. Og disse maskiner havde yderligere tegn, der bruges til kontrollere dem, for eksempel fortælle dem, hvornår de skal flytte udskrive hovedet ned en linje, linjeskift eller ny linie tast, når at flytte til venstre margen, vognretur, eller blot returnere nøglen, og hvornår de skal gå et rum, backspace karakter, og så videre. Disse tegn kaldes kontrol tegn, og de udgør resten af ​​ASCII sæt. Så hvis vi ser på en ASCII-tabellen, kan vi se, at den første 32 numre, nul til 31, er reserveret til kontrol tegn. Men vi sagde bare, at der var 33 styretegn. Hvad er det for noget? Nå, tallet nul og 127, den første og sidste af ASCII sæt, har særlige bitmønstre, nuller og alle dem, hhv. Designerne af ASCII besluttede derfor at bevare disse numre for ekstra specialtegn, nemlig nul karakter og DEL karakter. Null og DEL var beregnet til papir tape redigering, som anvendte at være en almindelig måde at lagre data. Papir tape var bogstavelig talt lige en lang strimmel papir, og på regelmæssige mellemrum på båndet, ville du punch huller at gemme data. Afhængigt af bredden af ​​båndet, vil hver kolonne er kan rumme fem, seks, syv eller otte bits. For at repræsentere en nul-bit, så ville du ikke gøre noget for det bånd, du vil bare efterlade en tom plads. For en én bit, ville du punch et hul. Den null karakter ville bare efterlade en tom kolonne, angivelse af alle nuller. Og DEL karakter ville slå en kolonne fuld af huller gennem båndet. Som et resultat, kan du bruge DEL karakter til at slette information. Forestil dig at tage en udfyldte valg afstemning, og derefter stansning alle unpunched huller. Du ugyldig afstemning, fordi det er umuligt at fortælle, hvad de oprindelige stemmer var. Mens DEL karakter stadig bruges, er den moderne Slet nøgle, nul-karakteren kom til at blive anvendt som afslutningstegn for C-strenge og nogle andre dataformater. Du kan kende det som backslash nultegnet, eftersom det er, hvordan vi repræsenterer det skriftligt. Så tilbage til vores ASCII-tabellen. Efter de første 32 styretegn kommer den 95 printbare tegn. Der er et par seje designbeslutninger værd taler om her. Det første er de decimale ciffer tegn, nul til ni, svarer til numrene 48 gennem 57, som synes tåler indtil vi ser på tallene 48 gennem 57 skrevet i binær notation. Hvis vi gør det, så ser vi, at ciffertegn, nul, svarer til 0110000, en map til 0110001, to til 0110010, og så videre. Se det mønster? Hvert ciffer karakter er kortlagt til dets tilsvarende tilsvarende i binær notation, med præfikset 011. Næste op, du bemærke, at de store bogstaver begynder ved 65, med store bogstaver A, men de små bogstaver starter ikke, før 97. Så der er 32 pladser i mellem. Det forekommer underligt. De er kun 26 bogstaver i alfabetet. Hvorfor splitte dem op på denne måde? Igen, hvis vi ser på de binære repræsentationer, vi kan se et mønster. Store bogstaver A er repræsenteret ved 1000001, og små bogstaver a er repræsenteret ved 1.100.001. Store B er repræsenteret ved 1000010, og lille b er repræsenteret ved 1.100.010. Kan du fortælle, hvad der sker her? Den smule, der er den anden fra venstre, i de to til femtedele, for 32ths stilling, er 0 for alle de store breve og 1 for alle de små bogstaver. Det betyder, at konvertering fra store til små bogstaver, og omvendt, er et spørgsmål om et simpelt bit flip. Så det bringer os til slutningen af ​​ASCII-tabellen. Kan du tænke på noget vi har glemt? Jamen, hvad med den spanske enye, eller Græsk eller kyrilliske alfabet? Og hvad med kinesiske tegn? Der er en masse, der er blevet udeladt af ASCII. Imidlertid har en anden standard kaldet Unicode været udviklet til at dække alle disse tegn og mange flere. Men det er et emne til en anden gang. Mit navn er Nate Hardison. Det er CS50.