Science Wiki
Advertisement

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

Codex


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

Γενικά[]

Κλασσικά παραδείγματα είναι

  • ο κώδικας Morse που κωδικοποιεί ένα σύνολο γραμμάτων του λατινικού αλφαβήτου σε μια σειρά από μικρές και μεγάλες παύλες,

και

  • ο κώδικας ASCII,που κωδικοποιεί

γράμματα, αριθμούς και άλλα σύμβολα στίξης κτλ, ως δυαδικούς αριθμούς επτά δυαδικών ψηφίων. Π.χ. το γράμμα 'Α' κωδικοποιείται από τον κώδικα ASCII στην ακολουθία 1-0-0-0-0-0-1.


Απλά σύνολα χαρακτήρων[]

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

Μοντέρνο εννοιολογικό πλαίσιο θεμάτων κωδικοποίησης χαρακτήρων[]

Το Unicode και το παράλληλο πρότυπο ISO 10646 Καθολικό Σύνολο Χαρακτήρων, που μαζί αποτελούν την πλέον μοντέρνα κωδικοποίηση χαρακτήρων απομακρύνθηκε από την αρχική αυτή προσέγγιση και αντίθετα διαχώρισε τις έννοιες-διαδικασίες

  • του ποιοί χαρακτήρες είναι διαθέσιμοι
  • την αρίθμηση τους
  • πώς αυτοί οι αριθμοί κωδικοποιούνται σε μια σειρά από κωδικές μονάδες (αριθμοί πεπερασμένου πλήθους),
  • και πώς τελικά αυτές οι μονάδες κωδικοποιούνται ως μια ακολουθίας οκτώ , bytes.

Αυτός ο διαχωρισμός έχει σαν σκοπό να επιτρέψει ένα καθολικό σύνολο χαρακτήρων το οποιό θα μπορεί να κωδικοποιηθεί με πολλούς τρόπους. Σε αυτό το πλαίσιο χρειαζόμαστε ποιό ακριβείς έννοιες από τις "σύνολο χαρακτήρων" και "κωδικοποίηση χαρακτήρων". Οι όροι αυτοί είναι :


Αφηρημένο σύνολο χαρακτήρων[]

Το αφηρημένο σύνολο χαρακτήρων (α.σ.χ)είναι το σύνολο χαρακτήρων ενός συστήματος γραφής χωρίς να μας απασχολούν οι παραλλαγές στη γραφική απόδοση τους . Αυτό μπορεί να είναι κλειστό χωρίς να επιτρέπονται περαιτέρω προσθήκες χωίς την δημιουργία νέου στάνταρντ (όπως συμβαίνει με το ASCII και τη σειρά προτύπων ISO-8859 ), ή μπορεί να είναι ανοιχτό επιτρέποντας προσθήκες ( όπως συμβαίνει με το Unicode και σε κάποιο βαθμό και με τις κωδικές σελίδες Windows c). Οι χαρακτήρες σε ένα δοσμένο α.σ.χ αντανάκλουν αποφάσεις που έχουν παρθεί σχετικά με το πως θα υποδιαιρεθεί ένα δοσμένο σύστημα γραφής σε γραμμικές πληροφοριακές μονάδες. Πχ τα Λατινικά, Ελληνικά και τα Κυριλλικά αλφάβητα, χωρίζονται φυσικά σε γράμματα, ψηφία , διακριτικά , σημεία στίξης και μερικούς ειδικούς χαρακτήρες όπως το κενό , τα οποία μπορούν όλα να διευθετηθούν σε απλές γραμμικές ακολουθίες (αν και η επεξεργασία αυτών των ακολουθιών απαιτεί παραπάνω κανόνες που θα καθορίζουν πως συγκεκριμένες ακολουθίεας όπως πχ ένα γράμμα ακολουθούμενο από το διακριτικό του (πχ διαλυτικά) θα ερμηνευθούν- αυτό δεν είναι στην έκταση της έννοιας του α.σ.χ. Για ευκολία μερικά α.σ.χ μπορεί να περιέχουν έτοιμες συνθέσεις μερικών γραμμάτων με τα διακριτικά τους.



Κωδικοποιημένο σύνολο χαρακτήρων[]

Ένα κωδικοποιημένο σύνολο χαρακτήρων καθορίζει πως να αναπαραστήσεις ένα σύνολο χαρακτήρων χρησιμοποιόντας ένα πλήθος μη-αρνητικών ακεραίων κωδικών που καλούνται κωδικά σημεία. Για παράδειγμα, σε ένα δοσμένο σύνολο , ο χαρακτήρας που αναπαριστά το κεφαλαίο γράμμα "Α" στο λατινικό αλφάβητο μπορεί να απεικονιστεί στον ακέραιο 65,το κεφαλαίο "Β" στον ακέραιο 66 κτλ. Ένα ολοκλήρομένο σύνολο χαρακτήρων με τους αντίστοιχους ακέραιους είναι ένα κωδικοποιημένο σύνολο χαρακτήρων. Συμβαίνει κωδικοποιημένα σύνολα χαρακτήρων να μοιράζονται το ίδιο αφηρημένο σύνολο χαρακτήρων όπως πχ τα ISO-8859-7 και το κωδικοποιημένο σύνολο χαρακτήρων windows-1253 που καλύπτουν το ίδιο αφηρημένο σύνολο χαρακτήρων αλλά τους απεικονίζουν σε διαφορετικά κωδικά σημεία. Σε ένα κωδικοποιμένο σύνολο χαρακτήρων κάθε κωδικό σημείο αναπαριστά ένα χαρακτήρα.

Μορφή κωδικοποίησης χαρακτήρων[]

Μια Μορφή κωδικοποίησης χαρακτήρων (ΜΚΧ) καθορίζει την μετατροπή των ακεραίων(κωδικών σημείων) ενός κωδικοποιημένου σύνολου χαρακτήρων σε ένα σύνολο ακεραίων περιορισμένου μεγέθους κωδικές τιμές που διευκολύνουν την αποθήκευση σε ένα σύστημα που αναπαριστά αριθμούς σε δυαδική μορφή χρησιμοποιώντας ένα σταθερό αριθμό από bits. Για παράδειγμα ,ένα σύστημα που αποθηκεύει αριθμούς σε μονάδες 16-μπιτ, μπορεί να αναπαραστήσει απευθείας ακεραίους από το 0 μέχρι το 65536. Οπότε η ΜΚΧ καθορίζει μια απεικόνιση απλών κωδικών σημείων από ένα εύρος τιμών πχ 0 - 1.4 εκατομμύρια σε μια σειρά κωδικών τιμών σε ένα εύρος πχ 0-65536.

Στην ποιό απλή περίπτωση ΜΚΧ έχουμε ένα υπολογιστικό σύστημα με μονάδες αποθήκευσης αρκετά μεγάλες για την αναπαράσταση όλων των κωδικών σημείων οπότε η ΜΚΧ απλά απεικονίζει απευθείας κάθε κωδικό σημείο σε μια κωδική τιμή. Αυτό συμβαίνει πχ με κωδικοποιημένα σύνολα χαρακτήρων που ταιριάζουν σε 8 μπιτς (όπως οι περισσότερες παραδοσιακές μη-CJK κωδικοποιήσεις) και επαρκεί για κωδικοποιημένα σύνολα χατακτήρων που ταιριάζουν σε 16μπιτς. Παρολαυτά καθώς το μέγεθος των κωδικοποιημέων συνόλων χαρακτήρων αυξάνει (πχ η μοντέρνα εκδοχή του Unicode απαιτεί 21 μπιτς/χαρακτήρα) αυτό το απλό σχήμα γίνεται όλο και δυσκολότερο να υλοποιηθεί . Γι'αυτό και ποιό πολλά συστήματα σήμερα χρησιμοποιούν την ΜΚΧ UTF-8 και την UTF-16 τα οποία απεικονίζουν κωδικά σημεία του προτύπου Unicode σε ακολουθίες byte,16bit μεταβλητού μήκους.




Σχήμα κωδικοποίησης χαρακτήρων[]

Ένα Σχήμα κωδικοποίησης χαρακτήρων (ΣΚΧ) καθορίζει πως οι κωδικές τιμές θα απεικονιστούν σε μια ακολουθία byte κατάλληλων να αποθηκευτούν σε ένα σύστημα αρχείων ή για μετάδοση σε ένα δίκτυο. Με το Unicode χρησιμοποιείται ένα απλό σχήμα κωδικοποίησης που απλά καθορίζει αν τα bytes για κάθε ακέραιο θα είναι διατεταγμένα σε big-endian ή little-endian σειρά (αν και αυτό δεν χρειάζεται με το UTF-8).


Σύντομο Ιστορικό κωδικοποιήσεων χαρακτήρων[]

Αρχικά δημιουργήθηκαν τα κωδικοποιημένα συνόλα χαρακτήρων ASCII(1963) και EBCDIC(1964) τα οποία αφορούσαν μόνο τους χαρακτήρες των λατινικών αλφαβήτων.Οι περιορισμοί τους λοιπόν δεν άρχισαν να φανούν,και διάφοροι πρόχειροι τρόποι που απότελούσαν παραλλαγές τους προτάθηκαν για τους επεκτείνουν ώστε να υποστηρίζονται και άλλες γλώσσες.Η ανάγκη όμως για υποστήριξη και συμβόλων γλωσσών όπως της Ανατολικής Ασίας που περιέχουν εκατοντάδες σύμβολα απαιτούσε πλέον μια ποιό συστηματική προσέγγιση για την κωδικοποιήση χαρακτήρων.

Μια τέτοια συστηματική προσπάθεια έγινε με το σύνολο κωδικοποιημένων χαρακτήρων Unicode που περιλαμβάνει πάνω από 100.000 χαρακτήρες.Κάθε ένας από αυτούς τους χαρακτήρες αντοιστοιχεί μέσω μιας [[ένα προς ένα συνάρτηση|| ένα προς ένα απεικόνισης]] σε έναν μοναδικό ακέραιο που ανήκει στο διάστημα από το 0 μέχρι το 10ffffδεκαεξαδικό σύστημα ,δηλαδή λίγο περισσότερους από ένα εκαττομύριο αριθμούς στους με τους οποίους μπορούμε να κωδικοποιήσουμε δυνητικά αντίστοιχους στο πλήθος χαρακτήρες.


Επειδή η πλειψηφία των εφαρμογών χρησιμοποιεί μόνο ένα μικρό υποσύνολο από τα αλφάβητα που υποστηρίζει το Unicode σε αυτές χρησιμοποιείται κυρίως το σχήμα UTF-8 για λόγους εξοικονόμησης μνήμης.

Δημοφιλείς κωδικοποιήσεις χαρακτήρων[]

  • ISO 646
    • ASCII
  • EBCDIC
  • ISO 8859:
    • ISO 8859-1, ISO 8859-2, ISO 8859-3, ISO 8859-4, ISO 8859-5, ISO 8859-6, ISO 8859-7, ISO 8859-8, ISO 8859-9, ISO 8859-10, ISO 8859-11, ISO 8859-13, ISO 8859-14, ISO 8859-15, ISO 8859-16
  • DOS σύνολα χαρακτήρων:
    • CP437, CP737, CP850, CP852, CP855, CP857, CP858, CP860, CP861, CP863, CP865, CP866, CP869
  • Windows συνόλα χαρακτήρων:
    • Windows-1250
    • Windows-1251 για Κυριλλικά αλφάβητα
    • Windows-1252
    • Windows-1253
    • Windows-1254
    • Windows-1255
    • Windows-1256
    • Windows-1257
    • Windows-1258 για βιετναμέζικα
  • KOI8-R, KOI8-U, KOI7
  • ISCII
  • VISCII
  • Big5
    • HKSCS
  • Guobiao
    • GB2312
    • GB18030
  • ISO 2022, Shift-JIS, EUC
  • Unicode (και υποσύνολα του, όπως το 16-bit 'Βασικό πολυγλωσσικό πλάνο'). Δες UTF-8


Εσωτερική Αρθρογραφία[]

Βιβλιογραφία[]

Ιστογραφία[]

  • [ ]


Ikl Κίνδυνοι ΧρήσηςIkl

Αν και θα βρείτε εξακριβωμένες πληροφορίες
σε αυτήν την εγκυκλοπαίδεια
ωστόσο, παρακαλούμε να λάβετε σοβαρά υπ' όψη ότι
η "Sciencepedia" δεν μπορεί να εγγυηθεί, από καμιά άποψη,
την εγκυρότητα των πληροφοριών που περιλαμβάνει.

"Οι πληροφορίες αυτές μπορεί πρόσφατα
να έχουν αλλοιωθεί, βανδαλισθεί ή μεταβληθεί από κάποιο άτομο,
η άποψη του οποίου δεν συνάδει με το "επίπεδο γνώσης"
του ιδιαίτερου γνωστικού τομέα που σας ενδιαφέρει."

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



Επίσης,
Οι διάφοροι "Εξωτερικοί Σύνδεσμοι (Links)"
(όχι μόνον, της Sciencepedia
αλλά και κάθε διαδικτυακού ιστότοπου (ή αλλιώς site)),
αν και άκρως απαραίτητοι,
είναι αδύνατον να ελεγχθούν
(λόγω της ρευστής φύσης του Web),
και επομένως είναι ενδεχόμενο να οδηγήσουν
σε παραπλανητικό, κακόβουλο ή άσεμνο περιεχόμενο.
Ο αναγνώστης πρέπει να είναι
εξαιρετικά προσεκτικός όταν τους χρησιμοποιεί.

- Μην κάνετε χρήση του περιεχομένου της παρούσας εγκυκλοπαίδειας
αν διαφωνείτε με όσα αναγράφονται σε αυτήν

IonnKorr-System-00-goog



>>Διαμαρτυρία προς την wikia<<

- Όχι, στις διαφημίσεις που περιέχουν απαράδεκτο περιεχόμενο (άσεμνες εικόνες, ροζ αγγελίες κλπ.)


Advertisement