om Unicode
på en bra dag uppfann mänskligheten elektroniska datorer. De varanses vara ett användbart verktyg av olika människor över hela världen.Alla var lyckliga.
men sedan, dessa människor ville skicka sitt arbete, berättelser och funnyjokes till varandra i form av text. Och tyvärr, dessa sillypeople lyckades aldrig komma överens om att använda ett språk och skrivsystem.Det är okej, men de kom inte heller överens om att använda en kodningformat för sin text.,
äldre kodningar
du ser, datorer tänker inte i bokstäver och rader, men i bitar, bytesand siffror. Så vi människor var tvungna att komma på ett sätt att representera text som en massa siffror … lätt! Bara kartlägga en symbol från dina skrivarsystem val till ett nummer som en dator kan hantera. Till exempel, i texten du läser just nu, är det latinska alfabetet, ato z, kariserat av siffrorna 97 till 122 inklusive. Men inte allamed en dator kan läsa latin., Dessa killar använder skript som Kyrilliska,grekiska, arabiska, Kinesiska, Katanka och Kanji, och de använde samenumbertrick att koda sin text. Till exempel kodas den kyrilliska bokstaven Д(De) som numret 196 i Windows-1251-kodningen där inden ASCII-utökade kodningen är”─”, en vertikal linje som används för att drawboxes.
så innan du öppnar en textfil som skickas av din vän på andra sidan världen måste du först veta vilken kodning de använde för att skriva filen. Du kan gissa, men det finns många av dessa gamla kodningar,nästan 60!, Så när du öppnar filen kan det se ut som det här:
den korrekta termen för detta är mojibake.
UTF-8
Så hur löser vi problemet med att ha alla dessa olika kodningar?Tja, svaret är ganska enkelt: bara skapa en enda stor kodningsom innehåller alla saker och symboler. Det här är Unicode. Unicodespecifierar intervall av så kallade Kodpunkter eller tecken. Det är inte själva kodningen själv, det skulle vara ett av de format som användsför att koda Unicode-poäng. Det vanligaste Unicode-formatet ärutf-8., Det finns andra format som UTF-16 och UTF-32, men UTF-8 är themost awesome format för Unicode eftersom:
- Det kan lagra allt.
gamla kodningar skulle kräva att hela dokumentet skrivs med samma kodning och därmed skrivsystem, vilket hindrar användaren från att använda flera skrivsystem i ett enda dokument. Med UTF-8users kan. - den använder en variabel teckenlängd.
Unicode har plats för upp till 4,294,967,296 (4 byte = 32 bitar = 2^32)Kodpunkter. Dokument och webbplatser skulle bli fyra gånger såstora när varje tecken är 4 byte stora., UTF-8 kommer att använda bara onebyte för de flesta latinska tecken och upp till fyra bytes för mindre commoncharacters. - den är bakåtkompatibel med ASCII
de första 255 kodpunkterna kodade av UTF-8 är exakt samma asASCII. ASCII var ett allmänt använt format innan UTF-8 blev popular.By att vara bakåtkompatibel kan UTF-8-Program Hantera filesencoded i ASCII utan att behöva koda dem igen.
Du kan fortfarande stöta på dokument eller webbplatser som inte använder UTF-8.Mest sannolikt på webbplatser som använder ett östligt språk som Mandarin.Varför?, Eftersom webbplatsägare inte vill blåsa sina pengar påbandwidth kostnader. Låter konstigt? Låt mig förklara. Dokument med många latinska tecken är mindre i storlek eftersom de vanligastetecken är bara en byte stor. Andra skrivsystem är kodade iunikodsintervall där ett enda tecken kan vara upp till fyra byte stora! Sådessa dokument är bara större än dokument skrivna på ett språksom använder latinska tecken. Ett exempel på detta fenomen ärRyska sociala webbplats, vk.com. – herr talman!, Den här webbplatsen använder Windows-1251enkodning eftersom den kodar för det kyrilliska skrivsystemet i en byte widecharacters, vilket sparar bandbredd.
nuförtiden är UTF-8 Det vanligaste textformatet på internet.It är också ryggraden på denna webbplats, utan Unicode, Lenny och allthe andra dongers skulle förmodligen begränsas till ASCII characterrange.
Leave a Reply