Κωδικοποίηση Unicode



Το πρότυπο Unicode είχε τον ρητό στόχο να ξεπεράσει τους περιορισμούς των παραδοσιακών κωδικοποιήσεων χαρακτήρων όπως αυτοί ορίζονται από το ISO 8859 πρότυπο που χρησιμοποιήθηκε ευρέως σε πολλές χώρες στον κόσμο αλλά παρουσίαζε προβλήματα ασυμβατότητας μεταξύ των διαφορετικών υλοποιήσεών του. Πολλές παραδοσιακές κωδικοποιήσεις χαρακτήρων μοιράζονται ένα κοινό πρόβλημα στο ότι επιτρέπουν υποστήριξη δύο αλφαβήτων, συνήθως του Λατινικού και ενός τοπικού, αλλά δεν υποστηρίζουν πολλές γλώσσες. Tο διεθνές πρότυπο Unicode στοχεύει στην κωδικοποίηση όλων των συστημάτων γραφής που χρησιμοποιούνται στον πλανήτη ώστε να γίνει δυνατή η αποθήκευση στη μνήμη ενός υπολογιστή το κείμενο μιας οποιασδήποτε γλώσσας συμπεριλαμβανομένων και συμβόλων επιστημών, όπως μαθηματικά, φυσική κτλ.
Παρά τα τεχνικά προβλήματα που έχουν παρουσιαστεί το Unicode έχει καθιερωθεί ως το πιο πλήρες σύνολο χαρακτήρων και ως η προτιμότερη κωδικοποίηση σε πολυγλωσσικό λογισμικό.




To Unicode είναι ένα είδος κωδικοποίησης που προτείνει έναν και μοναδικό αριθμό για κάθε χαρακτήρα. Κατά βάση, οι ηλεκτρονικοί υπολογιστές, αποθηκεύουν γράμματα και άλλους χαρακτήρες αντιστοιχώντας στο καθένα τους έναν αριθμό. Πριν την εφεύρεση του Unicode, υπήρχαν εκατοντάδες διαφορετικές κωδικοσελίδες. Λόγω περιορισμών μεγέθους όμως, σε καμία κωδικοσελίδα δεν χωρούσαν αρκετοί χαρακτήρες.
Εκτός αυτού, οι κωδικοσελίδες αυτές διαφωνούσαν μεταξύ τους. Έτσι, δύο κωδικοσελίδες μπορούσαν κάλλιστα να χρησιμοποιούν τον ίδιο αριθμό για δύο διαφορετικούς χαρακτήρες ή να χρησιμοποιούν διαφορετικούς αριθμούς για τον ίδιο χαρακτήρα. Κάθε υπολογιστής έπρεπε να υποστηρίζει πλήθος διαφορετικών κωδικοσελίδων, ταυτόχρονα κάθε φορά που δεδομένα μεταφέρονταν μεταξύ διαφορετικών κωδικοσελίδων ή λειτουργικών συστημάτων, και τα δεδομένα αυτά κινδύνευαν να αλλοιωθούν.
To Unicode προτείνει έναν μοναδικό αριθμό για κάθε χαρακτήρα, ανεξάρτητα από το λειτουργικό σύστημα, ανεξάρτητα από το λογισμικό, ανεξάρτητα από τη γλώσσα. Υποστηρίζεται από πολλά λειτουργικά συστήματα, όλους τους σύγχρονους browsers Internet, και πολλά άλλα προϊόντα. Η εμφάνιση της κωδικοσελίδας Unicode, και η διαθεσιμότητα εργαλείων που την υποστηρίζουν είναι από τις σημαντικότερες εξελίξεις της πρόσφατης τεχνολογίας λογισμικών.



Με το Unicode ένα και μόνο προϊόν ή μία και μόνη τοποθεσία Διαδικτύου μπορεί να επικοινωνεί με διάφορα λειτουργικά συστήματα, σε διάφορες γλώσσες και χώρες, χωρίς την ανάγκη επαναπρογραμματισμού. Γίνεται έτσι δυνατή η μεταφορά δεδομένων ανάμεσα σε πλήθος διαφορετικών συστημάτων δίχως κίνδυνο αλλοίωσης.
To Consortium Unicode είναι ένας κοινωφελής οργανισμός, ιδρύθηκε για να αναπτύξει, να επεκτείνει και να μεταδώσει τη χρήση της κωδικοσελίδας Unicode που καθορίζει την αναπαράσταση κειμένου σε σύγχρονα λογισμικά προϊόντα. Μεγάλος αριθμός εταιριών και οργανισμών της διεθνούς βιομηχανίας υπολογιστών και λογισμικών είναι μέλη του Consortium Unicode (http://www.unicode.org).
Unicode μπορεί να είναι τόσο οι γραμματοσειρές TrueType, όσο και οι Open Type. Με αυτόν τον τρόπο, και εφόσον η εφαρμογή μας υποστηρίζει Unicode, μπορούμε να γράφουμε σε πολλές γλώσσες, εφόσον εγκαταστήσουμε το κατάλληλο πληκτρολόγιο, με μία μόνο γραμματοσειρά.

OpenType γραμματοσειρές και πολυγλωσσική υποστήριξη
Οι OpenType γραμματοσειρές βασίζονται στη διεθνή κωδικοποίηση Unicode η οποία καλύπτει ουσιαστικά όλες τις γλώσσες του κόσμου. Κάνουν την πολύγλωσση επεξεργασία κειμένου ευκολότερη, επειδή σε κάθε αρχείο περιλαμβάνονται πολλές ομάδες χαρακτήρων από διαφορετικές γλώσσες. Περιλαμβάνουν όλες τις καθιερωμένες ομάδες λατινικών χαρακτήρων καθώς και τους ποιο κοινούς συμβολισμούς π.χ. το σήμα του ευρώ κ.ά.
Οι OpenType Pro γραμματοσειρές περιέχουν περισσότερες ομάδες χαρακτήρων ώστε να καλύπτουν τις ανάγκες και των Ανατολικών χωρών. Κάποιες από αυτές τις γραμματοσειρές περιέχουν και ελληνικούς χαρακτήρες στο ίδιο αρχείο.


Αποθήκευση μεταφορά και επεξεργασία

Μέχρι τώρα το Unicode παρουσιάστηκε απλά ως μια απεικόνιση κάθε χαρακτήρα που χρησιμοποιείται σε κάποιο αλφάβητο στη Γη σε έναν μοναδικό αριθμό, το κωδικό σημείο. Όμως η αποθήκευση αυτών των αριθμών κατά την επεξεργασία κειμένου είναι ένα εντελώς διαφορετικό θέμα. Προβλήματα ανακύπτουν από το γεγονός ότι το λογισμικό που γράφεται στον δυτικό κόσμο χειρίζεται μόνο κωδικοποιήσεις 8-bit με την unicode υποστήριξη να προστίθεται πολύ αργότερα.
Η εσωτερική λογική παραδοσιακών 8-bit εφαρμογών επιτρέπει μόνο 8  bits  για κάθε χαρακτήρα κάνοντας αδύνατη τη χρησιμοποίηση περισσότερων των 256 κωδικών σημείων χωρίς ειδική επεξεργασία. Έτσι οι μηχανικοί λογισμικού έχουν προτείνει διάφορους μηχανισμούς για την υλοποίηση του Unicode. Ποια υλοποίηση χρησιμοποιεί ο κάθε προγραμματιστής από θέματα χωρητικότητας, συμβατότητας πηγαίου κώδικαt και διαλειτουργικότητας με άλλα συστήματα.

Το Unicode ορίζει δύο τρόπους απεικόνισης τ
ις UTF κωδικοποιήσεις (Unicode Transformation Format) και τις UCS κωδικοποιήσεις (Universal Character Set). 
Αυτές οι κωδικοποιήσεις περιλαμβάνουν τις εξής κύριες:

  • UTF-32
  • UCS-4
  • UTF-16
  • UCS-2
  • UTF-8
  • UTF-EBCDIC
  • UTF-7

Ο αριθμός υποδηλώνει τον αριθμό των bits σε κάθε μονάδα (για UTF κωδικοποιήσεις) ή byter ανά μονάδα (για UCS κωδικοποιήσεις).

Σχόλια