Ascii λατινικό αλφάβητο. Κωδικοποίηση ASCII (Αμερικανικός τυπικός κώδικας για ανταλλαγή πληροφοριών) - βασική κωδικοποίηση κειμένου για το λατινικό αλφάβητο

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

Ένα από τα συστήματα συσχέτισης δυαδικών κωδίκων με τυπωμένους χαρακτήρες και χαρακτήρες ελέγχου είναι

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

Δημιουργία ASCII

Η κωδικοποίηση αναπτύχθηκε αρχικά το 1963 και στη συνέχεια ενημερώθηκε δύο φορές σε διάστημα 25 ετών.

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

Για πολλά χρόνια, αυτή η κωδικοποίηση ήταν η πιο δημοφιλής στον κόσμο. Το 2006, η Latin 1252 κατέλαβε την ηγετική θέση και από τα τέλη του 2007 έως σήμερα, η Unicode κατέχει σταθερά την ηγετική θέση.

Υπολογιστική αναπαράσταση του ASCII

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

Δύο κωδικοί στον πίνακα δεσμεύτηκαν για εναλλαγή μεταξύ του τυπικού US-ASCII και της εθνικής του παραλλαγής.

Αφού το ASCII άρχισε να περιλαμβάνει όχι 128, αλλά 256 χαρακτήρες, μια παραλλαγή κωδικοποίησης έγινε ευρέως διαδεδομένη, στην οποία η αρχική έκδοση του πίνακα αποθηκεύτηκε στους πρώτους 128 κωδικούς με το 8ο bit μηδέν. Οι εθνικοί γραπτοί χαρακτήρες αποθηκεύτηκαν στο πάνω μισό του πίνακα (θέσεις 128-255).

Ο χρήστης δεν χρειάζεται να γνωρίζει απευθείας τους κωδικούς χαρακτήρων ASCII. Ένας προγραμματιστής λογισμικού συνήθως χρειάζεται μόνο να γνωρίζει τον αριθμό του στοιχείου στον πίνακα για να υπολογίσει τον κώδικά του χρησιμοποιώντας το δυαδικό σύστημα εάν είναι απαραίτητο.

ρωσική γλώσσα

Μετά την ανάπτυξη κωδικοποιήσεων για τις σκανδιναβικές γλώσσες, κινέζικα, κορεάτικα, ελληνικά κ.λπ. στις αρχές της δεκαετίας του '70, η Σοβιετική Ένωση άρχισε να δημιουργεί τη δική της έκδοση. Σύντομα, αναπτύχθηκε μια έκδοση μιας κωδικοποίησης 8-bit που ονομάζεται KOI8, διατηρώντας τους πρώτους 128 κωδικούς χαρακτήρων ASCII και εκχωρώντας τον ίδιο αριθμό θέσεων για γράμματα του εθνικού αλφαβήτου και πρόσθετους χαρακτήρες.

Πριν από την εισαγωγή του Unicode, το KOI8 κυριαρχούσε στο ρωσικό τμήμα του Διαδικτύου. Υπήρχαν επιλογές κωδικοποίησης τόσο για το ρωσικό όσο και για το ουκρανικό αλφάβητο.

Προβλήματα ASCII

Δεδομένου ότι ο αριθμός των στοιχείων ακόμη και στον εκτεταμένο πίνακα δεν ξεπερνούσε τα 256, δεν υπήρχε η δυνατότητα να χωρέσουν πολλά διαφορετικά σενάρια σε μία κωδικοποίηση. Στη δεκαετία του '90, το πρόβλημα "crocozyabr" εμφανίστηκε στο Runet, όταν τα κείμενα που πληκτρολογήθηκαν με ρωσικούς χαρακτήρες ASCII εμφανίζονταν λανθασμένα.

Το πρόβλημα ήταν ότι οι διαφορετικοί κωδικοί ASCII δεν ταίριαζαν μεταξύ τους. Ας θυμηθούμε ότι διάφοροι χαρακτήρες μπορούσαν να εντοπιστούν στις θέσεις 128-255 και κατά την αλλαγή μιας κυριλλικής κωδικοποίησης σε άλλη, όλα τα γράμματα του κειμένου αντικαταστάθηκαν με άλλα που είχαν τον ίδιο αριθμό σε διαφορετική έκδοση της κωδικοποίησης.

Τωρινή κατάσταση

Με την εμφάνιση του Unicode, η δημοτικότητα του ASCII άρχισε να μειώνεται απότομα.

Ο λόγος για αυτό έγκειται στο γεγονός ότι η νέα κωδικοποίηση κατέστησε δυνατή την υποδοχή χαρακτήρων από όλες σχεδόν τις γραπτές γλώσσες. Σε αυτήν την περίπτωση, οι πρώτοι 128 χαρακτήρες ASCII αντιστοιχούν στους ίδιους χαρακτήρες στο Unicode.

Το 2000, το ASCII ήταν η πιο δημοφιλής κωδικοποίηση στο Διαδίκτυο και χρησιμοποιήθηκε στο 60% των ιστοσελίδων που ευρετηριάζονταν από την Google. Μέχρι το 2012, το μερίδιο τέτοιων σελίδων είχε πέσει στο 17% και το Unicode (UTF-8) πήρε τη θέση της πιο δημοφιλής κωδικοποίησης.

Έτσι, το ASCII είναι ένα σημαντικό μέρος της ιστορίας της τεχνολογίας της πληροφορίας, αλλά η χρήση του στο μέλλον δεν φαίνεται ελπιδοφόρα.

[Κωδικοποιήσεις 8-bit: ASCII, KOI-8R και CP1251] Οι πρώτοι πίνακες κωδικοποίησης που δημιουργήθηκαν στις Ηνωμένες Πολιτείες δεν χρησιμοποιούσαν το όγδοο bit σε ένα byte. Το κείμενο αντιπροσωπεύτηκε ως μια ακολουθία byte, αλλά το όγδοο bit δεν ελήφθη υπόψη (χρησιμοποιήθηκε για επίσημους σκοπούς).

Ο πίνακας έχει γίνει ένα γενικά αποδεκτό πρότυπο ASCII(Αμερικανικός τυποποιημένος κώδικας ανταλλαγής πληροφοριών). Οι πρώτοι 32 χαρακτήρες του πίνακα ASCII (00 έως 1F) χρησιμοποιήθηκαν για χαρακτήρες που δεν εκτυπώνονται. Σχεδιάστηκαν για να ελέγχουν μια συσκευή εκτύπωσης κ.λπ. Οι υπόλοιποι - από 20 έως 7 F - είναι κανονικοί (εκτυπώσιμοι) χαρακτήρες.

Πίνακας 1 - Κωδικοποίηση ASCII

ΔεκΓοητεύωΟκτΑπανθρακώνωΠεριγραφή
0 0 000 μηδενικό
1 1 001 έναρξη του τίτλου
2 2 002 αρχή του κειμένου
3 3 003 τέλος του κειμένου
4 4 004 τέλος μετάδοσης
5 5 005 έρευνα
6 6 006 αναγνωρίζω
7 7 007 κουδούνι
8 8 010 backspace
9 9 011 οριζόντια καρτέλα
10 ΕΝΑ 012 νέα γραμμή
11 σι 013 κάθετη καρτέλα
12 ντο 014 ΝΕΑ ΣΕΛΙΔΑ
13 ρε 015 επιστροφή άμαξα
14 μι 016 μετατόπιση έξω
15 φά 017 μετατόπιση μέσα
16 10 020 διαφυγή συνδέσμου δεδομένων
17 11 021 έλεγχος συσκευής 1
18 12 022 έλεγχος συσκευής 2
19 13 023 έλεγχος συσκευής 3
20 14 024 έλεγχος συσκευής 4
21 15 025 αρνητική αναγνώριση
22 16 026 σύγχρονη αδράνεια
23 17 027 τέλος του μεταφρ. ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ
24 18 030 Ματαίωση
25 19 031 τέλος του μέσου
26 032 υποκατάστατο
27 033 διαφυγή
28 1C 034 διαχωριστικό αρχείων
29 035 διαχωριστικό ομάδας
30 036 διαχωριστικό ρεκόρ
31 1ΣΤ 037 διαχωριστικό μονάδων
32 20 040 χώρος
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 052 *
43 053 +
44 2C 054 ,
45 2D 055 -
46 056 .
47 2ΣΤ 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 072 :
59 073 ;
60 3C 074 <
61 3D 075 =
62 076 >
63 3F 077 ?
ΔεκΓοητεύωΟκτΑπανθρακώνω
64 40 100 @
65 41 101 ΕΝΑ
66 42 102 σι
67 43 103 ντο
68 44 104 ρε
69 45 105 μι
70 46 106 φά
71 47 107 σολ
72 48 110 H
73 49 111 Εγώ
74 112 J
75 113 κ
76 4C 114 μεγάλο
77 4D 115 Μ
78 116 Ν
79 4F 117 Ο
80 50 120 Π
81 51 121 Q
82 52 122 R
83 53 123 μικρό
84 54 124 Τ
85 55 125 U
86 56 126 V
87 57 127 W
88 58 130 Χ
89 59 131 Υ
90 132 Ζ
91 133 [
92 5C 134 \
93 135 ]
94 136 ^
95 5F 137 _
96 60 140 `
97 61 141 ένα
98 62 142 σι
99 63 143 ντο
100 64 144 ρε
101 65 145 μι
102 66 146 φά
103 67 147 σολ
104 68 150 η
105 69 151 Εγώ
106 152 ι
107 153 κ
108 6C 154 μεγάλο
109 6D 155 Μ
110 156 n
111 6F 157 ο
112 70 160 Π
113 71 161 q
114 72 162 r
115 73 163 μικρό
116 74 164 t
117 75 165 u
118 76 166 v
119 77 167 w
120 78 170 Χ
121 79 171 y
122 172 z
123 173 {
124 7C 174 |
125 175 }
126 176 ~
127 7F 177 ΔΕΛ

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

Για να γίνει αυτό, αποφασίστηκε να χρησιμοποιηθεί το όγδοο bit σε κάθε byte. Αυτό έκανε διαθέσιμες 128 περισσότερες τιμές (από 80 έως FF) που θα μπορούσαν να χρησιμοποιηθούν για την κωδικοποίηση χαρακτήρων. Ο πρώτος από τους πίνακες των οκτώ bit είναι "εκτεταμένος ASCII" ( Εκτεταμένο ASCII) - περιλάμβανε διάφορες παραλλαγές λατινικών χαρακτήρων που χρησιμοποιούνται σε ορισμένες γλώσσες της Δυτικής Ευρώπης. Περιείχε επίσης άλλα πρόσθετα σύμβολα, συμπεριλαμβανομένων ψευδογραφικών.

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

Δεν υπήρχαν ρωσικά γράμματα στον πίνακα Extended ASCII. Η Ρωσία (πρώην ΕΣΣΔ) και άλλες χώρες δημιούργησαν τις δικές τους κωδικοποιήσεις που επέτρεψαν την αναπαράσταση συγκεκριμένων «εθνικών» χαρακτήρων σε αρχεία κειμένου 8-bit - λατινικά γράμματα της πολωνικής και τσεχικής γλώσσας, κυριλλικά (συμπεριλαμβανομένων των ρωσικών γραμμάτων) και άλλα αλφάβητα.

Σε όλες τις κωδικοποιήσεις που έχουν γίνει ευρέως διαδεδομένες, οι πρώτοι 127 χαρακτήρες (δηλαδή η τιμή byte με το όγδοο bit ίσο με 0) είναι ίδιοι με το ASCII. Έτσι, ένα αρχείο ASCII λειτουργεί σε οποιαδήποτε από αυτές τις κωδικοποιήσεις. Τα γράμματα της αγγλικής γλώσσας αντιπροσωπεύονται με τον ίδιο τρόπο.

Οργάνωση ISO(Διεθνής Οργανισμός Τυποποίησης) υιοθέτησε μια ομάδα προτύπων ISO 8859. Ορίζει κωδικοποιήσεις 8-bit για διαφορετικές ομάδες γλωσσών. Έτσι, το ISO 8859-1 είναι ένας εκτεταμένος πίνακας ASCII για τις ΗΠΑ και τη Δυτική Ευρώπη. Και το ISO 8859-5 είναι ένας πίνακας για το κυριλλικό αλφάβητο (συμπεριλαμβανομένου του ρωσικού).

Ωστόσο, για ιστορικούς λόγους, η κωδικοποίηση ISO 8859-5 δεν ριζώθηκε. Στην πραγματικότητα, οι ακόλουθες κωδικοποιήσεις χρησιμοποιούνται για τη ρωσική γλώσσα:

Κωδικός Σελίδα 866 ( CP866), γνωστός και ως "DOS", γνωστός και ως "εναλλακτική κωδικοποίηση GOST". Χρησιμοποιείται ευρέως μέχρι τα μέσα της δεκαετίας του '90. χρησιμοποιείται πλέον σε περιορισμένο βαθμό. Πρακτικά δεν χρησιμοποιείται για τη διανομή κειμένων στο Διαδίκτυο.
- KOI-8. Αναπτύχθηκε τη δεκαετία του 70-80. Είναι ένα γενικά αποδεκτό πρότυπο για τη μετάδοση μηνυμάτων email στο ρωσικό Διαδίκτυο. Χρησιμοποιείται επίσης ευρέως σε λειτουργικά συστήματα της οικογένειας Unix, συμπεριλαμβανομένου του Linux. Η έκδοση KOI-8, σχεδιασμένη για ρωσικά, ονομάζεται KOI-8R; Υπάρχουν εκδόσεις για άλλες κυριλλικές γλώσσες (για παράδειγμα, το KOI8-U είναι μια έκδοση για την ουκρανική γλώσσα).
- Κωδικός Σελίδα 1251, CP1251,Windows-1251. Αναπτύχθηκε από τη Microsoft για την υποστήριξη της ρωσικής γλώσσας στα Windows.

Το κύριο πλεονέκτημα του CP866 ήταν η διατήρηση των ψευδο-γραφικών χαρακτήρων στα ίδια σημεία όπως στο Extended ASCII. Επομένως, τα ξένα προγράμματα κειμένου, για παράδειγμα, το περίφημο Norton Commander, θα μπορούσαν να λειτουργήσουν χωρίς αλλαγές. Το CP866 χρησιμοποιείται πλέον για προγράμματα Windows που εκτελούνται σε παράθυρα κειμένου ή σε λειτουργία κειμένου πλήρους οθόνης, συμπεριλαμβανομένου του FAR Manager.

Τα κείμενα στο CP866 είναι αρκετά σπάνια τα τελευταία χρόνια (αλλά χρησιμοποιείται για την κωδικοποίηση των ρωσικών ονομάτων αρχείων στα Windows). Επομένως, θα σταθούμε λεπτομερέστερα σε δύο άλλες κωδικοποιήσεις - KOI-8R και CP1251.



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

Αλλά στο KOI-8R η σειρά των ρωσικών γραμμάτων φαίνεται τυχαία. Αλλά στην πραγματικότητα δεν είναι.

Σε πολλά παλαιότερα προγράμματα, το 8ο bit χάθηκε κατά την επεξεργασία ή τη μετάδοση κειμένου. (Τώρα τέτοια προγράμματα είναι πρακτικά «εξαφανισμένα», αλλά στα τέλη της δεκαετίας του '80 - αρχές της δεκαετίας του '90 ήταν ευρέως διαδεδομένα). Για να λάβετε μια τιμή 7-bit από μια τιμή 8-bit, απλώς αφαιρέστε το 8 από το πιο σημαντικό ψηφίο. για παράδειγμα, το E1 γίνεται 61.

Συγκρίνετε τώρα το KOI-8R με τον πίνακα ASCII (Πίνακας 1). Θα διαπιστώσετε ότι τα ρωσικά γράμματα τοποθετούνται σε σαφή αντιστοιχία με τα λατινικά. Εάν εξαφανιστεί το όγδοο bit, τα πεζά ρωσικά γράμματα μετατρέπονται σε κεφαλαία λατινικά γράμματα και τα κεφαλαία ρωσικά γράμματα σε πεζά λατινικά γράμματα. Έτσι, το E1 στο KOI-8 είναι το ρωσικό "A", ενώ το 61 στο ASCII είναι το λατινικό "a".

Έτσι, το KOI-8 σάς επιτρέπει να διατηρείτε την αναγνωσιμότητα του ρωσικού κειμένου όταν χάνεται το 8ο bit. Το "γεια σε όλους" γίνεται "pRIWET WSEM".

Πρόσφατα, τόσο η αλφαβητική σειρά των χαρακτήρων στον πίνακα κωδικοποίησης όσο και η αναγνωσιμότητα με την απώλεια του 8ου bit έχουν χάσει την αποφασιστική τους σημασία. Το όγδοο bit στους σύγχρονους υπολογιστές δεν χάνεται κατά τη μετάδοση ή την επεξεργασία. Και η αλφαβητική ταξινόμηση γίνεται λαμβάνοντας υπόψη την κωδικοποίηση, και όχι με απλή σύγκριση κωδικών. (Παρεμπιπτόντως, οι κωδικοί CP1251 δεν είναι πλήρως διατεταγμένοι αλφαβητικά - το γράμμα Ε δεν είναι στη θέση του).

Λόγω του γεγονότος ότι υπάρχουν δύο κοινές κωδικοποιήσεις, όταν εργάζεστε με το Διαδίκτυο (ταχυδρομείο, περιήγηση σε ιστότοπους), μπορείτε μερικές φορές να δείτε ένα σύνολο γραμμάτων χωρίς νόημα αντί για ρωσικό κείμενο. Για παράδειγμα, "IAM SBYUFEMHEL". Αυτές είναι απλώς οι λέξεις «με σεβασμό». αλλά κωδικοποιήθηκαν σε κωδικοποίηση CP1251 και ο υπολογιστής αποκωδικοποίησε το κείμενο χρησιμοποιώντας τον πίνακα KOI-8. Αν οι ίδιες λέξεις, αντίθετα, κωδικοποιούνταν στο KOI-8 και ο υπολογιστής αποκωδικοποιούσε το κείμενο σύμφωνα με τον πίνακα CP1251, το αποτέλεσμα θα ήταν "U HCHBTSEOYEN".

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

Στις περισσότερες περιπτώσεις, τα σύγχρονα προγράμματα αντιμετωπίζουν ανεξάρτητα τον προσδιορισμό των κωδικοποιήσεων των εγγράφων του Διαδικτύου (email και ιστοσελίδες). Αλλά μερικές φορές "πυροβολούν" και μετά μπορείτε να δείτε περίεργες ακολουθίες ρωσικών γραμμάτων ή "krokozyabry". Κατά κανόνα, σε μια τέτοια κατάσταση, για να εμφανίσετε πραγματικό κείμενο στην οθόνη, αρκεί να επιλέξετε την κωδικοποίηση χειροκίνητα στο μενού προγράμματος.

Για αυτό το άρθρο χρησιμοποιήθηκαν πληροφορίες από τη σελίδα http://open-office.edusite.ru/TextProcessor/p5aa1.html.

Υλικό από τον ιστότοπο:

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

Εμφάνιση και αποθήκευση πληροφοριών σε υπολογιστή

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

Πώς ξεκίνησαν όλα

Ιστορικά, οι πρώτοι υπολογιστές ήταν αγγλόφωνοι. Για την κωδικοποίηση συμβολικών πληροφοριών σε αυτά, αρκούσε να χρησιμοποιηθούν μόνο 7 bit μνήμης, ενώ για το σκοπό αυτό διατέθηκε 1 byte αποτελούμενο από 8 bit. Ο αριθμός των χαρακτήρων που κατανοούσε ο υπολογιστής σε αυτή την περίπτωση ήταν 128. Αυτοί οι χαρακτήρες περιελάμβαναν το αγγλικό αλφάβητο με τα σημεία στίξης, τους αριθμούς και ορισμένους ειδικούς χαρακτήρες. Η αγγλόφωνη κωδικοποίηση επτά bit με τον αντίστοιχο πίνακα (σελίδα κώδικα), που αναπτύχθηκε το 1963, ονομάστηκε Αμερικανικός Τυπικός Κώδικας για Ανταλλαγή Πληροφοριών. Συνήθως, η συντομογραφία "ASCII encoding" χρησιμοποιήθηκε και εξακολουθεί να χρησιμοποιείται για να την υποδηλώσει.

Μετάβαση στην πολυγλωσσία

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

Περιγραφή

Η κωδικοποίηση ASCII έχει έναν πίνακα που χωρίζεται σε 2 μέρη. Μόνο το πρώτο μισό του θεωρείται γενικά αποδεκτό διεθνές πρότυπο. Περιλαμβάνει:

  • Χαρακτήρες με σειριακούς αριθμούς από το 0 έως το 31, κωδικοποιημένοι σε ακολουθίες από το 00000000 έως το 00011111. Προορίζονται για χαρακτήρες ελέγχου που ελέγχουν τη διαδικασία εμφάνισης κειμένου στην οθόνη ή τον εκτυπωτή, ηχητικό σήμα κ.λπ.
  • Χαρακτήρες με NN στον πίνακα από 32 έως 127, κωδικοποιημένοι από ακολουθίες από 00100000 έως 01111111 αποτελούν το τυπικό μέρος του πίνακα. Αυτά περιλαμβάνουν κενό διάστημα (N 32), γράμματα του λατινικού αλφαβήτου (πεζά και κεφαλαία), δεκαψήφιους αριθμούς από το 0 έως το 9, σημεία στίξης, αγκύλες διαφορετικών στυλ και άλλα σύμβολα.
  • Χαρακτήρες με σειριακούς αριθμούς από 128 έως 255, κωδικοποιημένοι από ακολουθίες από 10000000 έως 11111111. Περιλαμβάνουν γράμματα εθνικών αλφαβήτων εκτός από το λατινικό. Είναι αυτό το εναλλακτικό μέρος του πίνακα ASCII που χρησιμοποιείται για τη μετατροπή ρωσικών χαρακτήρων σε μορφή υπολογιστή.

Μερικές ιδιότητες

Τα χαρακτηριστικά της κωδικοποίησης ASCII περιλαμβάνουν τη διαφορά μεταξύ των γραμμάτων "A" - "Z" κεφαλαίων και κεφαλαίων μόνο κατά ένα bit. Αυτή η περίσταση απλοποιεί σημαντικά τη μετατροπή του μητρώου, καθώς και τον έλεγχο του αν ανήκει σε ένα δεδομένο εύρος τιμών. Επιπλέον, όλα τα γράμματα στο σύστημα κωδικοποίησης ASCII αντιπροσωπεύονται από τους δικούς τους αριθμούς ακολουθίας στο αλφάβητο, οι οποίοι γράφονται με 5 ψηφία στο δυαδικό σύστημα αριθμών, πριν από το 011 2 για τα πεζά γράμματα και το 010 2 για τα κεφαλαία γράμματα.

Ένα από τα χαρακτηριστικά της κωδικοποίησης ASCII είναι η αναπαράσταση 10 ψηφίων - "0" - "9". Στο δεύτερο αριθμητικό σύστημα ξεκινούν με 00112 και τελειώνουν με 2 αριθμητικές τιμές. Έτσι, το 0101 2 είναι ισοδύναμο με τον δεκαδικό αριθμό πέντε, επομένως ο χαρακτήρας "5" γράφεται ως 0011 01012. Με βάση τα παραπάνω, μπορείτε εύκολα να μετατρέψετε αριθμούς BCD σε συμβολοσειρά ASCII προσθέτοντας την ακολουθία bit 00112 σε κάθε τσιμπίδα στο αριστερά.

"Unicode"

Όπως γνωρίζετε, απαιτούνται χιλιάδες χαρακτήρες για την εμφάνιση κειμένων στις γλώσσες της ομάδας της Νοτιοανατολικής Ασίας. Ένας τέτοιος αριθμός από αυτούς δεν μπορεί να περιγραφεί με κανέναν τρόπο σε ένα byte πληροφοριών, επομένως ακόμη και οι εκτεταμένες εκδόσεις του ASCII δεν θα μπορούσαν πλέον να ικανοποιήσουν τις αυξημένες ανάγκες χρηστών από διαφορετικές χώρες.

Έτσι, προέκυψε η ανάγκη δημιουργίας μιας καθολικής κωδικοποίησης κειμένου, την ανάπτυξη της οποίας, σε συνεργασία με πολλούς ηγέτες της παγκόσμιας βιομηχανίας πληροφορικής, ανέλαβε η κοινοπραξία Unicode. Οι ειδικοί του δημιούργησαν το σύστημα UTF 32 Σε αυτό, κατανεμήθηκαν 32 bit για να κωδικοποιήσουν 1 χαρακτήρα, αποτελώντας 4 byte πληροφοριών. Το κύριο μειονέκτημα ήταν η απότομη αύξηση της απαιτούμενης μνήμης έως και 4 φορές, η οποία συνεπαγόταν πολλά προβλήματα.

Ταυτόχρονα, για τις περισσότερες χώρες με επίσημες γλώσσες που ανήκουν στην ινδοευρωπαϊκή ομάδα, ο αριθμός των χαρακτήρων ίσος με 2 32 είναι κάτι παραπάνω από υπερβολικός.

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

Ακόμη και αυτή η αρκετά προηγμένη και επιτυχημένη έκδοση του Unicode είχε κάποια μειονεκτήματα και μετά τη μετάβαση από την εκτεταμένη έκδοση του ASCII στο UTF-16, το βάρος του εγγράφου διπλασιάστηκε.

Από αυτή την άποψη, αποφασίστηκε να χρησιμοποιηθεί η κωδικοποίηση μεταβλητού μήκους UTF-8. Σε αυτήν την περίπτωση, κάθε χαρακτήρας του κειμένου πηγής κωδικοποιείται ως ακολουθία μήκους από 1 έως 6 byte.

Επικοινωνήστε με τον αμερικανικό τυπικό κωδικό για ανταλλαγή πληροφοριών

Όλοι οι λατινικοί χαρακτήρες στο μεταβλητό μήκος UTF-8 κωδικοποιούνται σε 1 byte, όπως στο σύστημα κωδικοποίησης ASCII.

Ένα ιδιαίτερο χαρακτηριστικό του YTF-8 είναι ότι στην περίπτωση κειμένου στα Λατινικά χωρίς τη χρήση άλλων χαρακτήρων, ακόμη και τα προγράμματα που δεν κατανοούν το Unicode θα εξακολουθούν να μπορούν να το διαβάσουν. Με άλλα λόγια, η βασική κωδικοποίηση κειμένου ASCII γίνεται απλώς μέρος του νέου UTF μεταβλητού μήκους. Οι κυριλλικοί χαρακτήρες στο YTF-8 καταλαμβάνουν 2 byte και, για παράδειγμα, οι γεωργιανοί χαρακτήρες - 3 byte. Με τη δημιουργία UTF-16 και 8, λύθηκε το κύριο πρόβλημα της δημιουργίας ενός ενιαίου χώρου κώδικα σε γραμματοσειρές. Από τότε, οι κατασκευαστές γραμματοσειρών μπορούν να γεμίσουν τον πίνακα μόνο με διανυσματικές μορφές χαρακτήρων κειμένου με βάση τις ανάγκες τους.

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

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

Γεια σας, αγαπητοί αναγνώστες του ιστότοπου του ιστολογίου. Σήμερα θα σας μιλήσουμε για το από πού προέρχονται τα krakozyabr σε έναν ιστότοπο και σε προγράμματα, ποιες κωδικοποιήσεις κειμένου υπάρχουν και ποιες πρέπει να χρησιμοποιηθούν. Ας ρίξουμε μια πιο προσεκτική ματιά στην ιστορία της ανάπτυξής τους, ξεκινώντας από το βασικό ASCII, καθώς και τις εκτεταμένες εκδόσεις του CP866, KOI8-R, Windows 1251 και τελειώνοντας με τις σύγχρονες κωδικοποιήσεις Unicode Consortium UTF 16 και 8.

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

ASCII - βασική κωδικοποίηση κειμένου για το λατινικό αλφάβητο

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

Ωστόσο, το σημείο εκκίνησης για την ανάπτυξη σύγχρονων κωδικοποιήσεων κειμένου θα πρέπει να θεωρείται το διάσημο ASCII(Αμερικανικός Πρότυπος Κώδικας για Ανταλλαγή Πληροφοριών, ο οποίος στα ρωσικά συνήθως προφέρεται ως «ρωτήστε»). Περιγράφει τους πρώτους 128 χαρακτήρες που χρησιμοποιούνται πιο συχνά από αγγλόφωνους χρήστες - λατινικά γράμματα, αραβικούς αριθμούς και σημεία στίξης.

Αυτοί οι 128 χαρακτήρες που περιγράφονται στο ASCII περιελάμβαναν επίσης ορισμένους χαρακτήρες υπηρεσιών όπως αγκύλες, σημάδια κατακερματισμού, αστερίσκους κ.λπ. Μάλιστα, μπορείτε να τα δείτε μόνοι σας:

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

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

Εδώ, ίσως αξίζει να πούμε λίγα περισσότερα για τα συστήματα αριθμών που χρησιμοποιούνται στην περιγραφή. Πρώτον, όπως όλοι γνωρίζετε, ένας υπολογιστής λειτουργεί μόνο με αριθμούς στο δυαδικό σύστημα, δηλαδή με μηδενικά και ένα («Άλγεβρα Boole», αν κάποιος τον πήρε σε ινστιτούτο ή σχολείο). , καθένα από τα οποία είναι δύο στη δύναμη, ξεκινώντας από το μηδέν, και μέχρι δύο έως το έβδομο:

Δεν είναι δύσκολο να καταλάβουμε ότι όλοι οι πιθανοί συνδυασμοί μηδενικών και μονάδων σε ένα τέτοιο σχέδιο μπορούν να είναι μόνο 256. Η μετατροπή ενός αριθμού από το δυαδικό σύστημα στο δεκαδικό σύστημα είναι αρκετά απλή. Απλά πρέπει να αθροίσετε όλες τις δυνάμεις των δύο με μία πάνω από αυτές.

Στο παράδειγμά μας, αυτό αποδεικνύεται ότι είναι 1 (2 στη δύναμη του μηδέν) συν 8 (δύο στη δύναμη του 3), συν 32 (δύο στην πέμπτη δύναμη), συν 64 (στην έκτη δύναμη), συν 128 (στην έβδομη δύναμη). Το σύνολο είναι 233 σε δεκαδικό συμβολισμό. Όπως μπορείτε να δείτε, όλα είναι πολύ απλά.

Αλλά αν κοιτάξετε προσεκτικά τον πίνακα με χαρακτήρες ASCII, θα δείτε ότι αντιπροσωπεύονται σε δεκαεξαδική κωδικοποίηση. Για παράδειγμα, ο "αστερίσκος" αντιστοιχεί στον δεκαεξαδικό αριθμό 2Α στο Aski. Πιθανότατα γνωρίζετε ότι στο δεκαεξαδικό σύστημα αριθμών, εκτός από τους αραβικούς αριθμούς, χρησιμοποιούνται και λατινικά γράμματα από το A (σημαίνει δέκα) έως το F (σημαίνει δεκαπέντε).

Λοιπόν, για μετατροπή δυαδικού αριθμού σε δεκαεξαδικόκαταφύγετε στην παρακάτω απλή και προφανή μέθοδο. Κάθε byte πληροφοριών χωρίζεται σε δύο μέρη των τεσσάρων bit, όπως φαίνεται στο παραπάνω στιγμιότυπο οθόνης. Οτι. Σε κάθε μισό byte, μόνο δεκαέξι τιμές (δύο έως την τέταρτη δύναμη) μπορούν να κωδικοποιηθούν σε δυαδικό, το οποίο μπορεί εύκολα να αναπαρασταθεί ως δεκαεξαδικός αριθμός.

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

Εκτεταμένες εκδόσεις κωδικοποιήσεων Asuka - CP866 και KOI8-R με ψευδογραφήματα

Έτσι, αρχίσαμε να μιλάμε για το ASCII, το οποίο ήταν, σαν να λέγαμε, το σημείο εκκίνησης για την ανάπτυξη όλων των σύγχρονων κωδικοποιήσεων (Windows 1251, Unicode, UTF 8).

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

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

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

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

Αυτό σημαίνει ότι για να κωδικοποιήσουμε οποιονδήποτε χαρακτήρα χρειαζόμαστε (για παράδειγμα, από το εθνικό αλφάβητο), πρέπει να πληρούνται δύο προϋποθέσεις - η διανυσματική μορφή αυτού του χαρακτήρα πρέπει να είναι στη γραμματοσειρά που χρησιμοποιείται και αυτός ο χαρακτήρας θα μπορούσε να κωδικοποιηθεί σε εκτεταμένες κωδικοποιήσεις ASCII στο ένα byte. Επομένως, υπάρχει μια ολόκληρη δέσμη τέτοιων επιλογών. Μόνο για την κωδικοποίηση χαρακτήρων της ρωσικής γλώσσας, υπάρχουν πολλές ποικιλίες εκτεταμένων Aska.

Για παράδειγμα, εμφανίστηκε αρχικά CP866, το οποίο είχε τη δυνατότητα να χρησιμοποιεί χαρακτήρες από το ρωσικό αλφάβητο και ήταν μια εκτεταμένη έκδοση του ASCII.

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

Βλέπετε, στη δεξιά στήλη οι αριθμοί ξεκινούν από 8, γιατί... Οι αριθμοί από το 0 έως το 7 αναφέρονται στο βασικό μέρος του ASCII (δείτε το πρώτο στιγμιότυπο οθόνης). Οτι. Το ρωσικό γράμμα "M" στο CP866 θα έχει τον κωδικό 9C (βρίσκεται στη διασταύρωση της αντίστοιχης σειράς με το 9 και της στήλης με τον αριθμό C στο δεκαεξαδικό σύστημα αριθμών), ο οποίος μπορεί να γραφτεί σε ένα byte πληροφοριών και εάν υπάρχει κατάλληλη γραμματοσειρά με ρωσικούς χαρακτήρες, αυτό το γράμμα χωρίς προβλήματα θα εμφανιστεί στο κείμενο.

Από πού προήλθε αυτό το ποσό; ψευδογραφικά στο CP866? Το όλο θέμα είναι ότι αυτή η κωδικοποίηση για το ρωσικό κείμενο αναπτύχθηκε εκείνα τα δύσκολα χρόνια όταν τα λειτουργικά συστήματα γραφικών δεν ήταν τόσο διαδεδομένα όσο τώρα. Και στο Dosa και σε παρόμοια λειτουργικά συστήματα κειμένου, τα ψευδογραφικά στοιχεία κατέστησαν δυνατή τουλάχιστον με κάποιο τρόπο τη διαφοροποίηση του σχεδιασμού των κειμένων, και επομένως το CP866 και όλα τα άλλα όμοιά του από την κατηγορία των εκτεταμένων εκδόσεων του Asuka αφθονούν σε αυτό.

Το CP866 διανεμήθηκε από την IBM, αλλά εκτός από αυτό, αναπτύχθηκε ένας αριθμός κωδικοποιήσεων για χαρακτήρες ρωσικής γλώσσας, για παράδειγμα, μπορεί να αποδοθεί ο ίδιος τύπος (εκτεταμένο ASCII) ΚΟΙ8-Ρ:

Η αρχή της λειτουργίας του παραμένει η ίδια με αυτή του CP866 που περιγράφηκε λίγο νωρίτερα - κάθε χαρακτήρας κειμένου κωδικοποιείται από ένα μόνο byte. Το στιγμιότυπο οθόνης δείχνει το δεύτερο μισό του πίνακα KOI8-R, επειδή το πρώτο ημίχρονο είναι απολύτως συνεπές με το βασικό Asuka, το οποίο φαίνεται στο πρώτο στιγμιότυπο οθόνης αυτού του άρθρου.

Μεταξύ των χαρακτηριστικών της κωδικοποίησης KOI8-R, μπορεί να σημειωθεί ότι τα ρωσικά γράμματα στον πίνακά του δεν είναι με αλφαβητική σειρά, όπως, για παράδειγμα, το έκαναν στο CP866.

Αν κοιτάξετε το πρώτο στιγμιότυπο οθόνης (του βασικού μέρους, το οποίο περιλαμβάνεται σε όλες τις εκτεταμένες κωδικοποιήσεις), θα παρατηρήσετε ότι στο KOI8-R τα ρωσικά γράμματα βρίσκονται στα ίδια κελιά του πίνακα με τα αντίστοιχα γράμματα του λατινικού αλφαβήτου από το πρώτο μέρος του πίνακα. Αυτό έγινε για τη διευκόλυνση της εναλλαγής από τους ρωσικούς σε λατινικούς χαρακτήρες με την απόρριψη μόνο ενός bit (δύο στην έβδομη δύναμη ή 128).

Windows 1251 - η σύγχρονη έκδοση του ASCII και γιατί βγαίνουν οι ρωγμές

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

Ανήκαν στις λεγόμενες κωδικοποιήσεις ANSI, οι οποίες αναπτύχθηκαν από το Αμερικανικό Ινστιτούτο Προτύπων. Στην κοινή γλώσσα, το όνομα Κυριλλικό χρησιμοποιήθηκε επίσης για την έκδοση με υποστήριξη ρωσικής γλώσσας. Ένα παράδειγμα αυτού θα ήταν.

Διέφερε ευνοϊκά από τα προηγούμενα χρησιμοποιημένα CP866 και KOI8-R στο ότι τη θέση των ψευδογραφικών συμβόλων σε αυτό πήραν τα σύμβολα της ρωσικής τυπογραφίας που λείπουν (εκτός από το σημάδι τονισμού), καθώς και τα σύμβολα που χρησιμοποιούνται σε σλαβικές γλώσσες κοντά στο Ρωσικά (Ουκρανικά, Λευκορωσικά, κ.λπ.):

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

Πολύ συχνά έβγαιναν κατά την αποστολή και λήψη μηνυμάτων μέσω e-mail, κάτι που συνεπαγόταν τη δημιουργία πολύ περίπλοκων πινάκων μετατροπής, οι οποίοι, στην πραγματικότητα, δεν μπορούσαν να λύσουν ουσιαστικά αυτό το πρόβλημα και οι χρήστες συχνά χρησιμοποιούσαν για αλληλογραφία για να αποφύγουν τα περιβόητα τεχνάσματα κατά τη χρήση Ρωσικές κωδικοποιήσεις όπως CP866, KOI8-R ή Windows 1251.

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

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

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

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

Unicode - καθολικές κωδικοποιήσεις UTF 8, 16 και 32

Αυτοί οι χιλιάδες χαρακτήρες της ομάδας γλωσσών της Νοτιοανατολικής Ασίας δεν μπορούσαν να περιγραφούν σε ένα byte πληροφοριών που διατέθηκε για την κωδικοποίηση χαρακτήρων σε εκτεταμένες εκδόσεις του ASCII. Ως αποτέλεσμα, δημιουργήθηκε μια κοινοπραξία που ονομάζεται Unicode(Unicode - Unicode Consortium) με τη συνεργασία πολλών ηγετών του κλάδου της πληροφορικής (εκείνων που παράγουν λογισμικό, που κωδικοποιούν υλικό, που δημιουργούν γραμματοσειρές), που ενδιαφέρθηκαν για την εμφάνιση μιας καθολικής κωδικοποίησης κειμένου.

Η πρώτη παραλλαγή που κυκλοφόρησε υπό την αιγίδα της Unicode Consortium ήταν UTF 32. Ο αριθμός στο όνομα κωδικοποίησης σημαίνει τον αριθμό των bit που χρησιμοποιούνται για την κωδικοποίηση ενός χαρακτήρα. 32 bit ισούται με 4 byte πληροφοριών που θα χρειαστούν για την κωδικοποίηση ενός μεμονωμένου χαρακτήρα στη νέα καθολική κωδικοποίηση UTF.

Ως αποτέλεσμα, το ίδιο αρχείο με κείμενο κωδικοποιημένο στην εκτεταμένη έκδοση του ASCII και σε UTF-32, στην τελευταία περίπτωση, θα έχει μέγεθος (βάρος) τέσσερις φορές μεγαλύτερο. Αυτό είναι κακό, αλλά τώρα έχουμε την ευκαιρία να κωδικοποιήσουμε χρησιμοποιώντας YTF έναν αριθμό χαρακτήρων ίσο με δύο στη δύναμη τριάντα δευτερολέπτων ( δισεκατομμύρια χαρακτήρες, που θα καλύψει κάθε πραγματικά απαραίτητη αξία με ένα κολοσσιαίο περιθώριο).

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

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

Στο λειτουργικό σύστημα Windows, μπορείτε να ακολουθήσετε τη διαδρομή "Έναρξη" - "Προγράμματα" - "Αξεσουάρ" - "Εργαλεία συστήματος" - "Πίνακας χαρακτήρων". Ως αποτέλεσμα, θα ανοίξει ένας πίνακας με τα διανυσματικά σχήματα όλων των γραμματοσειρών που είναι εγκατεστημένες στο σύστημά σας. Εάν επιλέξετε το σύνολο χαρακτήρων Unicode στις «Επιλογές για προχωρημένους», θα μπορείτε να δείτε για κάθε γραμματοσειρά ξεχωριστά ολόκληρο το εύρος των χαρακτήρων που περιλαμβάνονται σε αυτήν.

Παρεμπιπτόντως, κάνοντας κλικ σε οποιοδήποτε από αυτά, μπορείτε να δείτε τα δύο byte του κώδικα σε μορφή UTF-16, που αποτελείται από τέσσερα δεκαεξαδικά ψηφία:

Πόσοι χαρακτήρες μπορούν να κωδικοποιηθούν στο UTF-16 χρησιμοποιώντας 16 bit; 65.536 (δύο στη δύναμη του δεκαέξι) και αυτός είναι ο αριθμός που υιοθετήθηκε ως ο βασικός χώρος στο Unicode. Επιπλέον, υπάρχουν τρόποι κωδικοποίησης περίπου δύο εκατομμυρίων χαρακτήρων χρησιμοποιώντας το, αλλά περιορίζονταν σε έναν εκτεταμένο χώρο ενός εκατομμυρίου χαρακτήρων κειμένου.

Αλλά ακόμη και αυτή η επιτυχημένη έκδοση της κωδικοποίησης Unicode δεν έφερε μεγάλη ικανοποίηση σε όσους έγραψαν, ας πούμε, προγράμματα μόνο στα αγγλικά, γιατί γι' αυτούς, μετά τη μετάβαση από την εκτεταμένη έκδοση του ASCII στο UTF-16, το βάρος των εγγράφων διπλασιάστηκε ( ένα byte ανά χαρακτήρα στο Aski και δύο byte για τον ίδιο χαρακτήρα στο YUTF-16).

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

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

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

Οι κυριλλικοί χαρακτήρες στο UTF-8 κωδικοποιούνται σε δύο byte και, για παράδειγμα, οι γεωργιανοί χαρακτήρες κωδικοποιούνται σε τρία byte. Η κοινοπραξία Unicode, αφού δημιούργησε τα UTF 16 και 8, έλυσε το κύριο πρόβλημα - τώρα έχουμε Οι γραμματοσειρές έχουν έναν ενιαίο χώρο κώδικα. Και τώρα οι κατασκευαστές τους μπορούν να το γεμίσουν μόνο με διανυσματικές μορφές χαρακτήρων κειμένου με βάση τα δυνατά τους σημεία και τις δυνατότητές τους. Τώρα έρχονται και σε σετ.

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

Τρελές λέξεις αντί για ρωσικά γράμματα - πώς να το διορθώσετε

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

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

Στο επάνω μενού του Notepad++ υπάρχει ένα στοιχείο "Κωδικοποιήσεις", όπου θα έχετε την ευκαιρία να μετατρέψετε μια υπάρχουσα επιλογή σε αυτήν που χρησιμοποιείται από προεπιλογή στον ιστότοπό σας:

Στην περίπτωση ενός ιστότοπου σε Joomla 1.5 και νεότερης έκδοσης, καθώς και στην περίπτωση ενός ιστολογίου στο WordPress, θα πρέπει να επιλέξετε την επιλογή αποφυγής εμφάνισης ρωγμών UTF 8 χωρίς BOM. Τι είναι το πρόθεμα BOM;

Το γεγονός είναι ότι όταν ανέπτυξαν την κωδικοποίηση YUTF-16, για κάποιο λόγο αποφάσισαν να επισυνάψουν σε αυτήν κάτι όπως η δυνατότητα εγγραφής του κώδικα χαρακτήρων τόσο με άμεση σειρά (για παράδειγμα, 0A15) όσο και αντίστροφα (150A) . Και για να καταλάβουν τα προγράμματα ακριβώς με ποια σειρά να διαβάσουν τους κωδικούς, εφευρέθηκε BOM(Byte Order Mark ή, με άλλα λόγια, υπογραφή), που εκφράστηκε με την προσθήκη τριών επιπλέον byte στην αρχή των εγγράφων.

Στην κωδικοποίηση UTF-8, δεν προβλέπονταν BOM στην κοινοπραξία Unicode, και επομένως η προσθήκη μιας υπογραφής (αυτά τα περιβόητα επιπλέον τρία byte στην αρχή του εγγράφου) απλώς εμποδίζει ορισμένα προγράμματα να διαβάσουν τον κώδικα. Επομένως, κατά την αποθήκευση αρχείων σε UTF, πρέπει πάντα να επιλέγουμε την επιλογή χωρίς BOM (χωρίς υπογραφή). Άρα είσαι εκ των προτέρων προστατέψτε τον εαυτό σας από το να σέρνετε krakozyabrs.

Αυτό που είναι αξιοσημείωτο είναι ότι ορισμένα προγράμματα στα Windows δεν μπορούν να το κάνουν αυτό (δεν μπορούν να αποθηκεύσουν κείμενο στο UTF-8 χωρίς BOM), για παράδειγμα, το ίδιο περιβόητο Σημειωματάριο των Windows. Αποθηκεύει το έγγραφο σε UTF-8, αλλά εξακολουθεί να προσθέτει την υπογραφή (τρία επιπλέον byte) στην αρχή του. Επιπλέον, αυτά τα byte θα είναι πάντα τα ίδια - διαβάστε τον κώδικα με άμεση σειρά. Αλλά στους διακομιστές, εξαιτίας αυτού του μικρού πράγματος, μπορεί να προκύψει ένα πρόβλημα - θα βγουν απατεώνες.

Επομένως, σε καμία περίπτωση Μην χρησιμοποιείτε κανονικό σημειωματάριο των Windowsγια να επεξεργαστείτε έγγραφα στον ιστότοπό σας εάν δεν θέλετε να εμφανιστούν ρωγμές. Θεωρώ ότι το ήδη αναφερθέν πρόγραμμα επεξεργασίας Notepad++ είναι η καλύτερη και απλούστερη επιλογή, η οποία πρακτικά δεν έχει μειονεκτήματα και αποτελείται μόνο από πλεονεκτήματα.

Στο Notepad++, όταν επιλέγετε μια κωδικοποίηση, θα έχετε την επιλογή να μετατρέψετε κείμενο σε κωδικοποίηση UCS-2, η οποία είναι πολύ κοντά στη φύση του με το πρότυπο Unicode. Επίσης στο Σημειωματάριο θα είναι δυνατή η κωδικοποίηση κειμένου σε ANSI, δηλ. σε σχέση με τη ρωσική γλώσσα, αυτό θα είναι το Windows 1251, το οποίο ήδη περιγράψαμε από πού προέρχονται αυτές οι πληροφορίες;

Είναι καταχωρημένο στο μητρώο του λειτουργικού σας συστήματος Windows - ποια κωδικοποίηση να επιλέξετε στην περίπτωση του ANSI, ποια να επιλέξετε στην περίπτωση OEM (για τη ρωσική γλώσσα θα είναι CP866). Εάν ορίσετε άλλη προεπιλεγμένη γλώσσα στον υπολογιστή σας, τότε αυτές οι κωδικοποιήσεις θα αντικατασταθούν με παρόμοιες από την κατηγορία ANSI ή OEM για την ίδια γλώσσα.

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

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

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

Πριν αναλύσει τον κώδικα, το πρόγραμμα περιήγησης γνωρίζει ποια έκδοση χρησιμοποιείται και πώς ακριβώς χρειάζεται να ερμηνεύσει τους κωδικούς χαρακτήρων αυτής της γλώσσας. Αλλά αυτό που είναι αξιοσημείωτο είναι ότι εάν αποθηκεύσετε το έγγραφο στο προεπιλεγμένο Unicode, τότε αυτή η δήλωση xml μπορεί να παραλειφθεί (η κωδικοποίηση θα θεωρείται UTF-8 εάν δεν υπάρχει BOM ή UTF-16 εάν υπάρχει BOM).

Στην περίπτωση ενός εγγράφου γλώσσας Html, η κωδικοποίηση χρησιμοποιείται για να υποδείξει Μεταστοιχείο, το οποίο είναι γραμμένο μεταξύ των ετικετών Head ανοίγματος και κλεισίματος:

... ...

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

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

Καλή σου τύχη! Τα λέμε σύντομα στις σελίδες του ιστότοπου του ιστολογίου

Μπορείτε να παρακολουθήσετε περισσότερα βίντεο μεταβαίνοντας στο
");">

Μπορεί να σας ενδιαφέρει

Τι είναι οι διευθύνσεις URL, σε τι διαφέρουν οι απόλυτοι και οι σχετικοί σύνδεσμοι για έναν ιστότοπο;
OpenServer - ένας σύγχρονος τοπικός διακομιστής και ένα παράδειγμα του τρόπου χρήσης του για την εγκατάσταση του WordPress σε έναν υπολογιστή
Τι είναι το Chmod, ποια δικαιώματα να εκχωρήσετε σε αρχεία και φακέλους (777, 755, 666) και πώς να το κάνετε μέσω PHP
Αναζήτηση Yandex ανά ιστότοπο και ηλεκτρονικό κατάστημα

Επικάλυψη χαρακτήρων

Ο χαρακτήρας BS (backspace) επιτρέπει στον εκτυπωτή να εκτυπώνει έναν χαρακτήρα πάνω στον άλλο. Το ASCII προέβλεπε την προσθήκη διακριτικών στα γράμματα με αυτόν τον τρόπο, για παράδειγμα:

  • α ΒΣ "→ ά
  • a BS ` → à
  • ένα BS ^ → â
  • o BS / → ø
  • c BS , → ç
  • n BS ~ → с

Σημείωση: σε παλιές γραμματοσειρές, η απόστροφη σχεδιάστηκε με κλίση προς τα αριστερά, και η περισπίδα ~ μετατοπίστηκε προς τα πάνω, έτσι απλά ταιριάζουν με τον ρόλο μιας οξείας και μιας περισπωμένης από πάνω.

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

  • a BS a → ένα
  • aBS_→ ένα

Σημείωση: Αυτό χρησιμοποιείται, για παράδειγμα, στο σύστημα βοήθειας άνδρα.

Εθνικές παραλλαγές ASCII

Το πρότυπο ISO 646 (ECMA-6) προβλέπει τη δυνατότητα τοποθέτησης εθνικών συμβόλων στη θέση τους @ [ \ ] ^ ` { | } ~ . Εκτός από αυτό, επί τόπου # μπορεί να αναρτηθεί £ , και στη θέση του $ - ¤ . Αυτό το σύστημα είναι κατάλληλο για ευρωπαϊκές γλώσσες όπου χρειάζονται μόνο μερικοί επιπλέον χαρακτήρες. Η έκδοση του ASCII χωρίς εθνικούς χαρακτήρες ονομάζεται US-ASCII ή "International Reference Version".

Στη συνέχεια, αποδείχθηκε ότι ήταν πιο βολικό να χρησιμοποιείτε κωδικοποιήσεις 8-bit (σελίδες κώδικα), όπου το κάτω μισό του πίνακα κωδικών (0-127) καταλαμβάνεται από χαρακτήρες US-ASCII και το πάνω μισό (128-255) με πρόσθετους χαρακτήρες, συμπεριλαμβανομένου ενός συνόλου εθνικών χαρακτήρων. Έτσι, το πάνω μισό του πίνακα ASCII, πριν από την ευρεία υιοθέτηση του Unicode, χρησιμοποιήθηκε ενεργά για να αναπαραστήσει εντοπισμένους χαρακτήρες, γράμματα της τοπικής γλώσσας. Η έλλειψη ενός ενοποιημένου προτύπου για την τοποθέτηση κυριλλικών χαρακτήρων στον πίνακα ASCII προκάλεσε πολλά προβλήματα με τις κωδικοποιήσεις (KOI-8, Windows-1251 και άλλα). Άλλες γλώσσες με μη λατινικές γραφές υπέφεραν επίσης από πολλές διαφορετικές κωδικοποιήσεις.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .ΕΝΑ .ΣΙ .ΝΤΟ .ΡΕ .ΜΙ .ΦΑ
0. NUL SOM ΕΟΑ ΕΟΜ EQT W.R.U. RU ΚΟΥΔΟΥΝΙ BKSP HT LF VT FF CR ΕΤΣΙ ΣΙ.
1. DC 0 DC 1 DC 2 DC 3 DC 4 ΠΛΑΝΩΜΑΙ ΣΥΓΧΡΟΝΙΣΜΟΣ L.E.M. S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7
2.
3.
4. ΚΕΝΟ ! " # $ % & " ( ) * + , - . /
5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
6.
7.
8.
9.
ΕΝΑ. @ ΕΝΑ σι ντο ρε μι φά σολ H Εγώ J κ μεγάλο Μ Ν Ο
ΣΙ. Π Q R μικρό Τ U V W Χ Υ Ζ [ \ ]
ΝΤΟ.
ΡΕ.
ΜΙ. ένα σι ντο ρε μι φά σολ η Εγώ ι κ μεγάλο Μ n ο
ΦΑ. Π q r μικρό t u v w Χ y z ESC ΔΕΛ

Σε εκείνους τους υπολογιστές όπου η ελάχιστη διευθυνσιοδοτούμενη μονάδα μνήμης ήταν μια λέξη 36-bit, αρχικά χρησιμοποιήθηκαν χαρακτήρες 6-bit (1 λέξη = 6 χαρακτήρες). Μετά τη μετάβαση στο ASCII, τέτοιοι υπολογιστές άρχισαν να περιέχουν είτε 5 χαρακτήρες επτά bit (1 bit έμεινε επιπλέον) είτε 4 χαρακτήρες εννέα bit σε μία λέξη.

Οι κωδικοί ASCII χρησιμοποιούνται επίσης για τον προσδιορισμό του πλήκτρου που θα πατηθεί κατά τον προγραμματισμό. Για ένα τυπικό πληκτρολόγιο QWERTY, ο πίνακας κωδικών μοιάζει με αυτό:



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: