Δημοσιεύτηκε: 09 Ιούλ 2014, 17:56
από alkismavridis
Επίσης η κωδικοποίηση unicode μεταχειρίζεται λίγο προνομιακά τις γλώσσες του λατινικού αλφαβήτου από τις άλλες, γιατί είναι κωδικοποίηση μεταβλητού μεγέθους. Υπάρχουν και χαρακτήρες που πιάνουν και 4 byte ακόμα.

Λέτε:
Ακόμα και στην ειδική περίπτωση που παίζει ρόλο αυτό το μέγεθος η εξοικονόμηση είναι ούτως ή άλλως πολύ μεγαλύτερη με χρήση αλγόριθμου συμπίεσης αντί για έναν πιο περιορισμένο χάρτη.

Πολλές φορές όμως αυτό θα ήταν μη πρακτικό από πλευράς προγραμαατισμού. Ας πούμε.ότι στη C θέλουμε να διαβάσουμε ενα string από το χρήστη. Τι κάνουμε; Φτιάχνουμε ένα buffer, αποθηκεύουμε το string. Φυσικά ο χρήστης μιας μη-λατινικης γραφής θα δικαιούται να γράψει τους μισούς χαρακτήρες από τον χηστη της λατινικής γραφής.
Το να γράφουμε ένα αλγόριθμο συμπίεσης κάθε φορά που.θέλουμε να διαβάσουμε ένα string είναι λιγάκι μη πρακτικό. Η μόνη λύση εδώ θα ήταν να ορίσουμε ένα μεγαλύτερο buffer εξ αρχής.

Θα μου πείτε: κάποιοι χαρακτήρες unicode έχουν το προνόμιο να πιάνουν ένα byte, δε γίνεται αλλιώς. Και θα συμφωνίσω απόλυτα. Αλλά το γεγονός παραμένει.

Επίσης η κωδικοποίηση unicode δεν έχει επικρατήσει ακόμα καθολικά. Θυμάμαι ότι ακόμα και στο ubuntu παλιότερα, το vlc ήθελε μία ειδική ρύθμιση για να χρησιμοππιήσει την utf-8. Ή (για άλλους λόγους) πριν λίγους μήνες λόγω μίας νέας έκδοσης πυρήνα, οι συντομεύσεις πληκτρολογίου δεν έπιαναν αν το πληκτρολόγιο ήταν στα ελληνικά. δένας χρήστης λατινικής γραφής δε θα χρειαζόταν να αντιμετωπίσει αυτά τα προβλήματα.

Συγγνώμη που κάνω το δικηγόρο του διαβόλου, απλά θέλω να είμαι σίγουρος ότι έχω εξετάσει όλες τις πλευρές του θέματος (πρέπει να κόψω τον πολύ Πλάτωνα που διαβάζω τελευταία...)