31Aug

Τι είναι οι κωδικοποιήσεις χαρακτήρων όπως το ANSI και το Unicode και πώς διαφέρουν;

click fraud protection

ASCII, UTF-8, ISO-8859. .. Μπορεί να έχετε δει αυτά τα παράξενα monikers να επιπλέουν γύρω, αλλά τι σημαίνουν πραγματικά;Διαβάστε παρακάτω καθώς εξηγούμε τι είναι η κωδικοποίηση χαρακτήρων και πώς αυτά τα αρκτικόλεξα σχετίζονται με το απλό κείμενο που βλέπουμε στην οθόνη.

Θεμελιώδεις δομικές μονάδες

Όταν μιλάμε για γραπτή γλώσσα, μιλάμε για γράμματα που είναι τα δομικά στοιχεία των λέξεων, τα οποία στη συνέχεια δημιουργούν προτάσεις, παραγράφους και ούτω καθεξής.Τα γράμματα είναι σύμβολα που αντιπροσωπεύουν ήχους.Όταν μιλάτε για τη γλώσσα, μιλάτε για ομάδες ήχων που συναντώνται για να σχηματίσουν κάποιο νόημα.Κάθε γλωσσικό σύστημα έχει ένα σύνθετο σύνολο κανόνων και ορισμών που διέπουν αυτές τις έννοιες.Εάν έχετε μια λέξη, είναι άχρηστο αν δεν ξέρετε από ποια γλώσσα είναι από και μπορείτε να το χρησιμοποιήσετε με άλλους που μιλούν αυτή τη γλώσσα.

Στον κόσμο των υπολογιστών, χρησιμοποιούμε τον όρο "χαρακτήρας". Ένας χαρακτήρας είναι ένα είδος αφηρημένης έννοιας που ορίζεται από συγκεκριμένες παραμέτρους, αλλά είναι το θεμελιώδεςμονάδα νοήματος.Το λατινικό «Α» δεν είναι το ίδιο με ένα ελληνικό «άλφα» ή ένα αραβικό «alif» επειδή έχουν διαφορετικά πλαίσια - είναι από διαφορετικές γλώσσες και έχουν ελαφρώς διαφορετικές προφορές - έτσι μπορούμε να πούμε ότι είναι διαφορετικοί χαρακτήρες.Η οπτική αναπαράσταση ενός χαρακτήρα ονομάζεται "glyph" και διαφορετικά σύνολα glyphs ονομάζονται γραμματοσειρές.Ομάδες χαρακτήρων ανήκουν σε "σύνολο" ή "ρεπερτόριο".

instagram viewer

Όταν πληκτρολογείτε μια παράγραφο και αλλάζετε τη γραμματοσειρά, δεν αλλάζετε τις φωνητικές τιμές των γραμμάτων, αλλάζετε τον τρόπο εμφάνισής τους.Είναι μόνο καλλυντικό( αλλά όχι ασήμαντο!).Ορισμένες γλώσσες, όπως οι αρχαίοι Αιγύπτιοι και οι Κινέζοι, έχουν ιδεογράμματα.αυτά αντιπροσωπεύουν ολόκληρες ιδέες αντί για ήχους και οι προφορές τους ποικίλλουν ανάλογα με το χρόνο και την απόσταση.Εάν αντικαταστήσετε έναν χαρακτήρα με έναν άλλο, αντικαθιστάτε μια ιδέα.Είναι κάτι περισσότερο από το να αλλάζεις γράμματα, αλλάζει ένα ιδεόγραμμα.

Κωδικοποίηση χαρακτήρων

( Εικόνα από την Wikipedia)

Όταν πληκτρολογείτε κάτι στο πληκτρολόγιο ή φορτώνετε ένα αρχείο, πώς γνωρίζει ο υπολογιστής τι πρέπει να εμφανίζει;Αυτή είναι η κωδικοποίηση χαρακτήρων.Το κείμενο στον υπολογιστή σας δεν είναι πραγματικά γράμματα, είναι μια σειρά από συνδυασμένες αλφαριθμητικές τιμές.Η κωδικοποίηση χαρακτήρων λειτουργεί ως κλειδί για το οποίο οι τιμές αντιστοιχούν σε ποιους χαρακτήρες, όπως και ο τρόπος ορθογραφίας υπαγορεύει ποιους ήχους αντιστοιχούν σε ποιά γράμματα.Ο κώδικας Morse είναι ένα είδος κωδικοποίησης χαρακτήρων.Εξηγεί πώς ομάδες μακροχρόνιων και βραχέων μονάδων, όπως οι μπιπ, αντιπροσωπεύουν χαρακτήρες.Στον κώδικα Morse, οι χαρακτήρες είναι απλά αγγλικά γράμματα, αριθμοί και πλήρεις στάσεις.Υπάρχουν πολλές κωδικοποιήσεις χαρακτήρων ηλεκτρονικού υπολογιστή που μεταφράζονται σε γράμματα, αριθμούς, σήματα προειδοποίησης, σημεία στίξης, διεθνή σύμβολα κ.λπ.

Συχνά σε αυτό το θέμα χρησιμοποιείται επίσης ο όρος "σελίδες κώδικα".Πρόκειται ουσιαστικά για κωδικοποίηση χαρακτήρων όπως χρησιμοποιείται από συγκεκριμένες εταιρείες, συχνά με μικρές τροποποιήσεις.Για παράδειγμα, η κωδικοσελίδα των Windows 1252( παλαιότερα γνωστή ως ANSI 1252) είναι μια τροποποιημένη μορφή του ISO-8859-1.Χρησιμοποιούνται κυρίως ως εσωτερικό σύστημα για αναφορά σε τυποποιημένες και τροποποιημένες κωδικοποιήσεις χαρακτήρων που είναι συγκεκριμένες για τα ίδια συστήματα.Από νωρίς, η κωδικοποίηση χαρακτήρων δεν ήταν τόσο σημαντική, επειδή οι υπολογιστές δεν επικοινωνούσαν μεταξύ τους.Με τη διαδεδομένη πρόσβαση στο Διαδίκτυο και τη δικτύωση που είναι ένα συνηθισμένο περιστατικό, έχει καταστεί όλο και πιο σημαντική από τις καθημερινές μας ζωές, χωρίς καν να το συνειδητοποιήσουμε.

Πολλοί διαφορετικοί τύποι

( Εικόνα από sarah sosiak)

Υπάρχουν πολλές διαφορετικές κωδικοποιήσεις χαρακτήρων εκεί έξω και υπάρχουν πολλοί λόγοι γι 'αυτό.Η κωδικοποίηση χαρακτήρων που επιλέγετε να χρησιμοποιήσετε εξαρτάται από τις ανάγκες σας.Εάν επικοινωνείτε στα ρωσικά, είναι λογικό να χρησιμοποιήσετε μια κωδικοποίηση χαρακτήρων που υποστηρίζει κυριλλικά καλά.Εάν επικοινωνείτε με Κορεάτικα, τότε θα θέλετε κάτι που εκπροσωπεί το Hangul και Hanja καλά.Εάν είστε μαθηματικός, τότε θέλετε κάτι που αντιπροσωπεύει καλά όλα τα επιστημονικά και μαθηματικά σύμβολα, καθώς και τα ελληνικά και λατινικά glyphs.Εάν είστε ένας γοητευτικός, ίσως επωφεληθείτε από το ανάποδα κειμένου.Και, αν θέλετε όλοι οι τύποι εγγράφων να προβληθούν από οποιοδήποτε άτομο, θέλετε μια κωδικοποίηση που είναι αρκετά κοινή και εύκολα προσβάσιμη.

Ας ρίξουμε μια ματιά σε μερικές από τις συνηθέστερες.

( Απόσπασμα του ASCII πίνακα, Εικόνα από asciable.com)

  • ASCII - Ο αμερικανικός τυποποιημένος κώδικας για την ανταλλαγή πληροφοριών είναι μία από τις παλαιότερες κωδικοποιήσεις χαρακτήρων.Αρχικά σχεδιάστηκε βάσει τηλεγραφικών κωδίκων και εξελίχθηκε με την πάροδο του χρόνου ώστε να συμπεριλάβει περισσότερα σύμβολα και κάποιους πλέον ξεπερασμένους μη τυπωμένους χαρακτήρες ελέγχου.Είναι μάλλον τόσο βασικό όσο μπορείτε να πάρετε από την άποψη των σύγχρονων συστημάτων, δεδομένου ότι περιορίζεται στο λατινικό αλφάβητο χωρίς τόνους χαρακτήρες.Η κωδικοποίησή του σε 7-bit επιτρέπει μόνο 128 χαρακτήρες, γι 'αυτό υπάρχουν πολλές ανεπίσημες παραλλαγές σε χρήση σε όλο τον κόσμο.
  • ISO-8859 - Η πιο ευρέως χρησιμοποιούμενη ομάδα κωδικοποιήσεων χαρακτήρων της Διεθνούς Οργάνωσης Τυποποίησης είναι ο αριθμός 8859. Κάθε συγκεκριμένη κωδικοποίηση ορίζεται από έναν αριθμό, που συχνά προθέτει ένα περιγραφικό μνημείο, π.χ.ISO-8859-3( Λατινική-3), ISO-8859-6( Λατινική / Αραβική).Είναι ένα υπερσύνολο του ASCII, που σημαίνει ότι οι πρώτες 128 τιμές στην κωδικοποίηση είναι οι ίδιες με τις ASCII.Είναι όμως 8-bit και επιτρέπει 256 χαρακτήρες, ώστε να χτίζει από εκεί και περιλαμβάνει ένα πολύ ευρύτερο φάσμα χαρακτήρων, με κάθε συγκεκριμένη κωδικοποίηση να επικεντρώνεται σε διαφορετικό σύνολο κριτηρίων.Το Latin-1 περιλάμβανε μια δέσμη γραμματοσειρών και συμβόλων με έμφαση, αλλά στη συνέχεια αντικαταστάθηκε με ένα αναθεωρημένο σύνολο που ονομάζεται Latin-9 το οποίο περιλαμβάνει ενημερωμένους χαρακτήρες όπως το σύμβολο του ευρώ.

( Απόσπασμα του Θιβέτ script, Unicode v4, από unicode.org)

  • Unicode - Αυτό το πρότυπο κωδικοποίησης αποσκοπεί στην καθολικότητα.Σήμερα περιλαμβάνει 93 σενάρια που οργανώνονται σε διάφορα μπλοκ, με πολλά άλλα έργα.Το Unicode λειτουργεί διαφορετικά από άλλα σύνολα χαρακτήρων, επειδή αντί να κωδικοποιεί άμεσα για ένα glyph, κάθε τιμή κατευθύνεται περαιτέρω σε ένα "σημείο κώδικα". Αυτές είναι δεκαεξαδικές τιμές που αντιστοιχούν στους χαρακτήρες, αλλά οι ίδιες οι glyphs παρέχονται κατά τρόπο αποσπασματικό από το πρόγραμμα, όπως το πρόγραμμα περιήγησης ιστού σας.Αυτά τα σημεία κώδικα απεικονίζονται συνήθως ως εξής: U + 0040( που μεταφράζεται σε '@').Ειδικές κωδικοποιήσεις σύμφωνα με το πρότυπο Unicode είναι UTF-8 και UTF-16.Το UTF-8 προσπαθεί να επιτρέψει τη μέγιστη συμβατότητα με το ASCII.Είναι 8-bit, αλλά επιτρέπει όλους τους χαρακτήρες μέσω ενός μηχανισμού υποκατάστασης και πολλαπλά ζεύγη τιμών ανά χαρακτήρα.Τα UTF-16 σκίζουν τέλεια συμβατότητα ASCII για πιο πλήρη συμβατότητα 16 bit με το πρότυπο.
  • ISO-10646 - Αυτό δεν είναι μια πραγματική κωδικοποίηση, απλά ένα σύνολο χαρακτήρων Unicode που έχει τυποποιηθεί από το ISO.Είναι κυρίως σημαντικό επειδή είναι το ρεπερτόριο χαρακτήρων που χρησιμοποιείται από το HTML.Ορισμένες από τις πιο προηγμένες λειτουργίες που παρέχονται από το Unicode, οι οποίες επιτρέπουν την ταξινόμηση και από δεξιά προς τα αριστερά, δίπλα από τα αριστερά προς τα δεξιά scripting, λείπουν.Ακόμα, λειτουργεί πολύ καλά για χρήση στο διαδίκτυο, καθώς επιτρέπει τη χρήση μιας μεγάλης ποικιλίας σεναρίων και επιτρέπει στο πρόγραμμα περιήγησης να ερμηνεύει τα glyphs.Αυτό καθιστά τον εντοπισμό κάπως πιο εύκολο.

Τι κωδικοποίηση πρέπει να χρησιμοποιήσω;

Λοιπόν, το ASCII λειτουργεί για τους περισσότερους αγγλικούς ομιλητές, αλλά όχι για πολλά άλλα.Συχνότερα θα δείτε το ISO-8859-1, το οποίο λειτουργεί για τις περισσότερες δυτικοευρωπαϊκές γλώσσες.Οι άλλες εκδόσεις του ISO-8859 λειτουργούν για κυριλλικά, αραβικά, ελληνικά ή άλλα ειδικά σενάρια.Ωστόσο, εάν θέλετε να εμφανίσετε πολλά σενάρια στο ίδιο έγγραφο ή στην ίδια ιστοσελίδα, το UTF-8 επιτρέπει πολύ καλύτερη συμβατότητα.Λειτουργεί επίσης πολύ καλά για ανθρώπους που χρησιμοποιούν σωστά σημεία στίξης, σύμβολα μαθηματικών ή χαρακτήρες εκτός περιπτέρων, όπως τετράγωνα και πλαίσια ελέγχου.

( Πολλαπλές γλώσσες σε ένα έγγραφο, Στιγμιότυπο οθόνης του gujaratsamachar.com)

Υπάρχουν όμως μειονεκτήματα για κάθε σετ.Το ASCII περιορίζεται στα σημεία στίξης του, επομένως δεν λειτουργεί εξαιρετικά καλά για τυπογραφικά σωστές επεξεργασίες.Πάντα αντιγράψτε / επικολλήστε το είδος από το Word μόνο για να έχετε κάποιο παράξενο συνδυασμό glyphs;Αυτό είναι το μειονέκτημα του ISO-8859, ή πιο σωστά, της υποτιθέμενης διαλειτουργικότητάς του με κωδικοσελίδες ειδικού λειτουργικού συστήματος( εξετάζουμε εσάς, τη Microsoft!).Το κύριο μειονέκτημα του UTF-8 είναι η έλλειψη κατάλληλης υποστήριξης στην επεξεργασία και δημοσίευση εφαρμογών.Ένα άλλο πρόβλημα είναι ότι τα προγράμματα περιήγησης συχνά δεν ερμηνεύουν και απλά εμφανίζουν το σήμα παραγγελίας byte ενός κωδικοποιημένου χαρακτήρα UTF-8.Αυτό έχει ως αποτέλεσμα την εμφάνιση ανεπιθύμητων χαρακτήρων.Και βεβαίως, η δήλωση μιας κωδικοποίησης και η χρήση χαρακτήρων από μια άλλη χωρίς να δηλώνεται / να αναφέρεται σωστά σε μια ιστοσελίδα καθιστά δύσκολο για τα προγράμματα περιήγησης να τα καταστήσουν σωστά και για τις μηχανές αναζήτησης να τις ευρετηριάσουν κατάλληλα.

Για τα δικά σας έγγραφα, χειρόγραφα και ούτω καθεξής, μπορείτε να χρησιμοποιήσετε ό, τι χρειάζεστε για να ολοκληρώσετε τη δουλειά.Όσον αφορά τον ιστό, όμως, φαίνεται ότι οι περισσότεροι άνθρωποι συμφωνούν να χρησιμοποιήσουν μια έκδοση UTF-8 που δεν χρησιμοποιεί σήμα εντολής byte, αλλά αυτό δεν είναι απολύτως ομόφωνη.Όπως βλέπετε, κάθε κωδικοποίηση χαρακτήρων έχει τη δική του χρήση, το πλαίσιο, τις δυνάμεις και τις αδυναμίες.Ως τελικός χρήστης, πιθανότατα δεν θα πρέπει να ασχοληθείτε με αυτό, αλλά τώρα μπορείτε να κάνετε το επιπλέον βήμα προς τα εμπρός αν το επιλέξετε.