In de vorige post hebben we gekeken naar de oorsprong van digitale tekens, ASCII-code. ASCII was geweldig, maar de 128 beschikbare tekens waren absoluut onvoldoende om alle talen ter wereld te vertegenwoordigen.
Vandaag gaan we het hebben over Unicode, een enorme belofte die alle tekens ter wereld samenbrengt, waaronder Koreaanse, Chinese, Arabische en zelfs emoji's, voorbij de beperkingen van ASCII.
In de vroege dagen van het internet was het heel normaal om schermen te zien die bedekt waren met symbolen zoals □ wanneer je toegang probeerde te krijgen tot websites in andere landen. Dit fenomeen wordt 'Mojibake' genoemd.
De reden was eenvoudig. Elke natie en taal gebruikte verschillende coderingen. Zelfs met dezelfde binaire data, kon de ene computer zeggen: "Dit is Koreaans", terwijl een andere computer het als "Dit is een West-Europese taal" interpreteerde.
De redder die deze digitale toren van Babel kwam verhelderen, was Unicode.

1. Wat is Unicode?
Unicode is een afkorting voor "Universal Code", een internationale standaard die elke letter en teken in de wereld een uniek nummer (Code Point) toekent.
Code Point
Unicode beheert elke letter met een hexadecimale nummering die begint met U+.
-
Latijns teken 'A': $U+0041$ (zelfde als ASCII-code)
-
Koreaans '가': $U+AC00$
-
Chinees karakter '日': $U+65E5$
-
Emoji '😀': $U+1F600$
Nu kunnen alle computers ter wereld het signaal $U+1F600$ ontvangen en, ongeacht de taalinstellingen, hetzelfde lachende gezicht (😀) oproepen.
2. Is Unicode hetzelfde als UTF-8?
Dit is een verwarrend punt voor veel mensen. "Unicode" en het vaak voorkomende "UTF-8" zijn niet hetzelfde. Het begrijpen van de relatie tussen deze twee is de kern van deze post.
-
Unicode: Dit is een 'kaart (Map)' die letters en nummers verbindt. (abstracte afspraak)
-
UTF-8 (Codering): Dit is de 'verpakkingsmethode (Method)' die deze nummers in computergeheugen opslaat.
3. Waarom is UTF-8 de standaard geworden?
Er zijn verschillende manieren om Unicode-tekens op te slaan in computers (codering), zoals UTF-16, UTF-32, enzovoort. Maar momenteel gebruikt meer dan 98% van de webwereld UTF-8.
UTF-8 heeft gewonnen vanwege de 'variabele lengte (Variable Width)' die een geniale efficiëntie biedt. Afhankelijk van het type teken wordt de opslagruimte (Byte) verschillend toegewezen.
| Type teken | Voorbeeld | Unicode-nummer | Opslaggrootte in UTF-8 | Kenmerken |
|---|---|---|---|---|
| Basis Latijns | A | $U+0041$ | 1 Byte | 100% compatibel met ASCII-code |
| Arabisch/Europese talen | Ω, ¶ | $U+03A9$ | 2 Bytes | Latijnse uitbreiding, Grieks, enz. |
| CJK (Koreaans, Chinees, Japans) | 한, 中, あ | $U+D55C$ | 3 Bytes | De meeste Aziatische tekens |
| Emoji/Oude talen | 🚀 | $U+1F680$ | 4 Bytes | Tekens die de platte grens overschrijden |
Voordelen van UTF-8
-
ASCII-compatibiliteit: Wanneer Engelse documenten worden opgeslagen, is de grootte hetzelfde als de ASCII-code. Het is volledig compatibel met bestaande systemen.
-
Efficiëntie: Veelgebruikte Engelse/nummerieke tekens worden kort opgeslagen met 1 byte, terwijl complexe tekens uitgebreider worden opgeslagen voor optimale totale grootte.
4. Waarop moeten ontwikkelaars letten bij het werken met Unicode?
In tegenstelling tot de dagen dat tekens slechts 1 byte (ASCII) waren, is het belangrijk om voorzichtig te zijn met het "berekenen van de lengte van een tekenreeks" in een Unicode-omgeving.
-
Vanuit het perspectief van geheugen (Byte): 'A' is 1, '한' is 3.
-
Vanuit het perspectief van tekens (Character): 'A' is ook 1 teken, '한' is ook 1 teken.
Samenvatting
-
Unicode: Een internationale standaardovereenkomst die elke letter een uniek nummer (Code Point) toekent.
-
Doel: De verschillende coderingen tussen talen te integreren om het probleem van tekens die breken (Mojibake) op te lossen.
-
UTF-8: Een efficiënte manier om Unicode op te slaan. Engelstalige tekens gebruiken 1 byte, terwijl Koreaans, Chinees en Japans 3 bytes vereisen.
Unicode is meer dan alleen een technische standaard; het is de meest inclusieve infrastructuur van het digitale tijdperk die informatie-uitwisseling zonder taalkwesties over de hele wereld mogelijk maakt.
🚀 Volgende artikel aankondiging
Nu we weten hoe we tekst opslaan (codering), is het tijd om te leren hoe we gegevens slimmer kunnen behandelen. "Hoe worden beelden opgeslagen als 0's en 1's?" We zullen het principe van pixels, resolutie en RGB-kleuren op een zeer eenvoudige manier uitleggen.
👇 Aanbevolen artikelen
Als je dit nuttig vond, vergeet dan niet je te abonneren zodat je geen andere IT-technologieverhalen mist!
댓글이 없습니다.