![]() |
Το λήμμα παραθέτει τις πηγές του αόριστα, χωρίς παραπομπές. |
Το UTF-8 (8-bit Unicode Transformation Format) είναι μη-απωλεστικό σχήμα κωδικοποίησης χαρακτήρων μεταβλητού μήκους για το πρότυπο Unicode που δημιουργήθηκε από τους Ken Thompson και Rob Pike. Χρησιμοποιεί ομάδες από byte για να αναπαραστήσει τα κωδικά σημεία του Unicode. Είναι ιδιαίτερα χρήσιμο για μετάδοση δεδομένων σε 8bit συστήματα ηλεκτρονικού ταχυδρομείου.
Συγκεκριμένα χρησιμοποιεί ένα μέχρι τέσσερα byte ανά χαρακτήρα ανάλογα με το σύμβολο και το κωδικό του σημείο. Για παράδειγμα χρειάζεται μόνο ένα byte του UTF-8 για την κωδικοποίηση των 128 ASCII χαρακτήρων στο διάστημα του Unicode U+0000 μέχρι U+007F.
Τέσσερα byte μπορεί να φαίνονται πολλά για έναν χαρακτήρα (κωδικό σημείο), παρ'όλα αυτά αυτό αφορά μόνο κωδικά σημεία εκτός του Βασικού πολυγλωσσικού επιπέδου, τα οποία σπάνια χρησιμοποιούνται. Επίσης το UTF-16 (το κύριο εναλλακτικό σχήμα στο UTF-8) επίσης χρειάζεται τέσσερα byte για αυτά τα κωδικά σημεία. Το πιο είναι αποδοτικότερο το UTF-8 ή το UTF-16, εξαρτάται από το εύρος των κωδικών σημείων που θα χρησιμοποιηθούν. Οι διαφορές των δυο σχημάτων μπορούν όμως να γίνουν αμελητέες με την χρήση παραδοσιακών συστημάτων συμπίεσης όπως DEFLATE. Για μικρά κομμάτια κειμένου όπου οι παραδοσιακοί αλγόριθμοι δεν αποδίδουν καλά και όπου το μέγεθος του αρχείου μετράει μπορεί να χρησιμοποιηθεί και το Πρότυπο Σχήμα Συμπίεσης για Unicode.
Η IETF (Internet Engineering Task Force) απαιτεί όλα τα πρωτόκολλα Διαδικτύου να αναγνωρίζουν και να υποστηρίζουν τουλάχιστον ως σχήμα κωδικοποίησης χαρακτήρων τουλάχιστον το UTF-8.