om Unicode
på en god dag opfandt menneskeheden elektroniske computere. De varvedtaget som et nyttigt værktøj af forskellige mennesker over hele verden.Alle var glade.
men så ønskede disse mennesker at sende deres arbejde, historier og sjovejokes til hinanden i form af tekst. Og desværre lykkedes disse sillypefolk aldrig at blive enige om at bruge et sprog og skrivesystem.Det er okay, men de var heller ikke enige om at bruge en kodningformat til deres tekst.,
Ældre kodninger
du ser, computere tænker ikke i bogstaver og linjer, men i bits, bytsand tal. Så vi mennesker måtte komme med en måde at repræsentere tekst påsom en masse tal … let! Du skal bare kortlægge et symbol fra dit skrivesystem af valg til et nummer, som en computer kan håndtere. For eksempel i den tekst, du læser lige nu, er det små bogstaver latinske alfabet, ato., karied af tallene 97 til 122 inklusive. Men ikke allemed en computer kan læse latin., Disse fyre bruger scripts som Kyrillisk,græsk, arabisk, Han, Katanka og Kanji, og de brugte samenumbertrick til at kode deres tekst. For eksempel, Kyrillisk bogstav Д(De) er kodet som nummer 196 i Windows-1251-kodning, hvor inthe Udvidede ASCII-kodning, det er ‘─’, en lodret linje, der bruges til at drawboxes.
så før du åbner en tekstfil sendt af din ven på den anden side af verden, skal du først vide, hvilken kodning de plejede at skrive den fil. Du kan gætte,men der er mange af disse gamle kodninger, næsten 60!, Så når du åbner filen, kan det se ud somDette:
det korrekte udtryk for dette er mojibake.
UTF-8
så hvordan løser vi problemet med at have alle disse forskellige kodninger?Nå, svaret er ganske simpelt: bare oprette en enkelt stor kodningder indeholder alle de ting og symboler. Det er Unicode. Unicodespecificerer intervaller af såkaldte kodepunkter eller tegn. Det er ikke selve kodningen, det ville være et af de formater, der bruges til at kode Unicode-punkter. Det mest almindeligt anvendte Unicode-format ersutf-8., Der er andre formater som UTF-16 og UTF-32, men UTF-8 er themost fantastiske format til Unicode, fordi:
- Det kan gemme noget som helst.
Gamle kodninger ville kræve, at hele dokumentet skrives ved hjælp af det samme kodnings-og dermed skrivesystem, hvilket hæmmer brugeren fra at bruge flere skrivesystemer i et enkelt dokument. Med UTF-8brugere kan. - det bruger en variabel karakterlængde.Unicode har plads til op til 4.294.967.296 (4 bytes = 32 bits = 2^32)kodepunkter. Dokumenter og websebsteder ville blive fire gange så store, når hver karakter er 4 bytes stor., UTF-8 bruger kun onebyte til de fleste latinske tegn og op til fire byte til mindre almindelige tegn.
- den er bagudkompatibel med ASCII
De første 255 kodepunkter kodet af UTF-8 er nøjagtigt de samme asASCII. ASCII et udbredt format, før UTF-8 blev popular.By at være bagudkompatibel, og UTF-8-programmer kan håndtere filesencoded i ASCII-uden at skulle re-encode dem.
Du kan stadig støde på dokumenter eller websebsteder, der ikke bruger UTF-8.Mest sandsynligt på websebsteder, der bruger et østligt sprog som Mandarin.Hvorfor?, Fordi websiteebstedsejere ikke ønsker at blæse deres penge påband .idth omkostninger. Lyder mærkeligt? Lad mig forklare. Dokumenter med en masse latinske tegn er mindre i størrelse, da de mest almindeligetegn er kun BYN byte store. Andre skrivesystemer er kodet inUnicode intervaller, hvor et enkelt tegn kan være op til fire bytes store! Så disse dokumenter er bare større end dokumenter skrevet på et sprog, der bruger latinske tegn. Et eksempel på dette fænomen erRussisk social hjemmeside, vk.com., Dette websiteebsted bruger Windowsindo .s-1251encoding, da det koder for det kyrilliske skrivesystem i widn byte wididecharacters, hvilket sparer båndbredde.
i Dag, UTF-8 er de mest almindeligt anvendte tekst-format på internettet.Det er også rygraden i denne hjemmeside, uden Unicode, Lenny og alle andre dongers vil sandsynligvis være begrænset til ASCII characterrange.
Leave a Reply