Ξενάγηση στη Rust Πίνακας Περιεχομένων

Τι είναι το utf-8

Καθώς όλο και περισσότερες γλώσσες χρησιμοποιούνταν στους υπολογιστές, ο κόσμος χρειαζόταν έναν τρόπο ν' αναπαραστήσει περισσότερους χαρακτήρες κειμένου απ' όσους επέτρεπε το ASCII (1 byte επέτρεπε μόνο 256 χαρακτήρες).

Έτσι εισήχθη το utf-8, με μεταβλητό μήκος από 1 έως 4 byte, αυξάνοντας σημαντικά το εύρος των δυνατών χαρακτήρων.

Ένα πλεονέκτημα των χαρακτήρων μεταβλητού μεγέθους είναι ότι το κείμενο δεν έχει περιττά byte για τους πολύ συνήθεις χαρακτήρες ASCII (που εξακολουθούν να χρειάζονται μόνο 1 byte στο utf-8).

Ένα μειονέκτημα των χαρακτήρων μεταβλητού μεγέθους είναι ότι η αναζήτηση ενός χαρακτήρα δεν μπορεί πια να γίνει γρήγορα (σε σταθερό χρόνο O(1)) με απλή δεικτοδότηση (π.χ. my_text[3] για να πάρουμε τον 4ο χαρακτήρα). Είναι πιθανό οι προηγούμενοι χαρακτήρες να έχουν μεταβλητό πλάτος, αλλάζοντας το πού πραγματικά ξεκινάει ο 4ος χαρακτήρας μέσα στην ακολουθία byte.

Αντ' αυτού πρέπει να διατρέξουμε μία ακολουθία byte utf-8 για να καταλάβουμε πού πραγματικά ξεκινούν οι χαρακτήρες Unicode (σε γραμμικό χρόνο O(n)).

Ferris: «Κυρίως χαίρομαι που έχω το utf-8 για ν' αναπαριστώ τα emoji των υποβρύχιων φίλων μου.»

🐠🐙🐟🐬🐋

Mascot Ferris