Programmering: hur du identifierar och läsa UTF-8-tecken i text snören... (1 / 16 steg)
Steg 1: Valfria påminnelse om textfiler och charsets:
Datorns binära filer (bilder, musik, körbar, etc.) och datorns textfiler (txt-filer) är samma sak: de är alla datafiler.
En datafil är lista över byte.
En byte består av 8 bitar.
Lite är en grundläggande binära (2 state). Det kan ställas in (innehåller 1) eller deaktiverat (innehåller 0).
Genom att ändra påstår av 8 bitar i en byte, är det möjligt att göra 256 olika kombinationer.
Varje kombination bildar ett binärt tal.
Det är möjligt att konvertera binära tal till decimaltal.
Det är således möjligt att räkna i binär:
00000000 (0)
00000001 (1)
00000010 (2)
00000011 (3)
00000100 (4)
00000101 (5)
...
11111100 (252)
11111101 (253)
11111110 (254)
11111111 (255)
Således innehåller varje byte av en datafil en numeriska värde från 00000000 till 11111111 i binär (från 0 till 255 i decimal).
Vi kan sedan använda byte för att lagra ett heltal från 0 till 255.
Om vi vill lagra historiska datum som 1783 eller matematiska värden som 1.41421, tvingas vi att "koda" dem med flera byte.
Med två byte är det möjligt att lagra heltal mellan 0 och 65 535.
Med 4 byte är det möjligt att koda (med vissa eventuella tillnärmning) alla reella tal.
Samma sak med text: varje tecken i en sträng är kodad i ett värde från 0 till 255, ge, således maximalt 256 olika tecken.
I början, som datorer var främst en västra teknik, 256 möjliga tecken var mer än tillräckligt: 26 små bokstäver, 26 stora bokstäver, 10 siffror, några skiljetecken symboler...
Amerikanerna skapade standarden som ASCII (American Standard Code for Information Interchange).
Det var allmänt använt (och anpassat) i Europa också. Det har även utvidgats för att innehålla de flesta av de accentueras tecken används allmänt i Europa.
Således varje byte av en ASCII (eller oformaterad text) fil innehålla 1 tecken.
Men använder inte alla länder över hela världen det latinska alfabetet.
Exempelvis skapat ryssarna sin egen standard, som var oförenligt med ASCII-standarden. Grekiska skapat sin egen standard, som var oförenligt med den ASCII-standarden, etc.
Under lång tid, på internet, det var mycket svårt att visa flera olika alfabet tillsammans på samma sida, eftersom varje alfabetet behövs en annan "charset kodning", och endast en "charset kodning" per sida var lätt möjligheten.
Internationella webbplatser som Wikipedia skulle ha varit mycket svårt att göra.
Den vanligaste knep Visa matematiska formler eller kinesiska tecken på en engelsk sida, var att visa dem som bilder...
De gick snabbt till slutsatsen att 256 tecken inte var tillräckligt, och att varje annan och möjliga tecken och symboler i världen måste grupperas i en enskild och allmän uppsättning tecken: Unicode.
.