Ο ASCII (American Standard Code for Information Interchange, Αμερικανικός Πρότυπος Κώδικας για Ανταλλαγή Πληροφοριών) είναι ένα κωδικοποιημένο σύνολο χαρακτήρων του λατινικού αλφάβητου όπως αυτό χρησιμοποιείται σήμερα στην Αγγλική γλώσσα και σε άλλες δυτικοευρωπαικές γλώσσες. Χρησιμοποιείται κυρίως στους υπολογιστές και άλλες συσκευές τηλεπικοινωνίας για αναπαράσταση κειμένου, καθώς επίσης για έλεγχο συσκευών που δουλεύουν με κείμενο.

Οι εκτυπώσιμοι χαρακτήρες του ASCII (με κωδικούς από 32 μέχρι 126) είναι σε αριθμητική σειρά οι(συμπεριλαμβανομένου του κενού χαρακτήρα "space"):

!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~


Γενικά
Η κωδικοποίηση ASCII και οι συμβατές με αυτήν κωδικοποιήσεις (δείτε παρακάτω) χρησιμοποιούνται σχεδόν σε όλους τους υπολογιστές σήμερα. Το MIME όνομα για αυτήν την κωδικοποίηση είναι "us-ascii".

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

Όταν πρωτοπαρουσιάστηκε ο ascii, πολλοί υπολογιστές χρησιμοποιούσαν σαν ελάχιστο μέγεθος οργάνωσης της μνήμης το byte. Έτσι σε αυτούς τους υπολογιστές το όγδοο bit ενός byte που χρησίμευε για την κωδικοποίηση χαρακτήρα στο ascii χρησιμοποιούνταν είτε σαν bit ισοτιμίας για έλεγχο λαθών είτε το έθεταν ίσο με το μηδέν και έμενε κατ' ουσίαν αχρησιμοποίητο.

Ο ASCII πρωτοδημοσιεύτηκε ως Πρότυπο το 1963 από τον Αμερικανικό Οργανισμό Τυποποίησης (ASA), που αργότερα μετονομάστηκε σε ANSI. Υπάρχουν πολλές παραλλαγές του, αλλά η τρέχουσα πιο διαδεδομένη μορφή του είναι η ANSI X3.4-1986, τυποποιημένη και σαν ECMA-6, ISO/IEC 646:1991 International Reference Version, ITU-T Recommendation T.50 (09/92), and Request for Comments RFC 20. Υπάρχει επίσης στο πρότυπο Unicode (που αντικατέστησε το ASCII), ως οι πρώτοι 128 χαρακτήρες.

Ιστορικά ο ASCII αναπτύχθηκε από τους τηλεγραφικούς κώδικες και η πρώτη του εμπορική εφαρμογή ήταν σαν 7-bit κώδικας τηλε-εκτυπωτών που εμπορεύονταν η εταιρία Bell System, η οποία αρχικά σχεδίαζε να χρησιμοποιήσει ένα κώδικα 6-bit που προέρχονταν από το Fieldata που πρόσθετε σημεία στίξης και μικρά γράμματα στον ακόμα πρωθύστερο κώδικα τηλεκτυπωτών 5-bit Baudot αλλά τελικά πείστηκε να προσχωρήσει στην υποεπιτροπή του οργανισμού τυποποίησης ANSI που ανέπτυσε τον ASCII. Ο κώδικας Baudot βοήθησε στην αυτοματοποίηση της αποστολής και παραλαβής μηνύματων μέσω τηλέγραφου και πήρε και πολλά χαρακτηριστικά και από τον ακόμα παλίοτερο και πασίγνωστο κώδικα Morse. Όμως σε αντίθεση με αυτόν ο baudot κώδικας είχε σταθερό μήκος κωδικοποίησης. Σε σύγκριση με άλλους παλιότερους κώδικες τηλέγραφου, ο προτεινόμενος κώδικας από την Bell και ο ASCII ήταν και οι δύο αναδιαταγμένοι για πιο εύκολη ταξινόμηση λιστών,και πρόσθεταν και επιπλέον χαρακτηριστικά και για άλλες συσκευές εκτός από τους τελεκτυπωτές. Μερικά χαρακτηριστικά του ASCII όπως η 'Ακολουθία διαφυγής-ESCape sequance' οφείλονταν στον Bob Bemer.

Οι πρώτοι 32 κώδικες (αριθμοί 0–31 δεκαδικό)στο ascii είναι δεσμευμένοι για χαρακτήρες ελέγχου για τους οποίους δεν υπήρχε αρχικά η πρόθεση να κωδικοποιούν χαρακτήρες αλλά να χρησιμεύουν για έλεγχο συσκευών όπως εκτυπωτές που έκαναν χρήση του ascii. Για παραδειγμα ο χαρακτηρας 10 αναπαριστα την λειτουργια τροφοδοσία χαρτιού που ωθεί τον εκτυπωτή να προχωρήσει το χαρτί. Ο χαρακτήρας 27 αναπαριστά το κουμπί "escape" που βρίσκεται συνήθως στην πάνω αριστερή γωνία των κοινότερων πληκτρολογίων . Ο κώδικας 127 (και τα επτά bit με την τιμή ένα) είναι ακόμα ένας ειδικός χαρακτήρας γνωστός ως "delete-σβήσιμο", ο οποίος χρησίμευε γα να "σβήνει" μια περιοχή χτυπημένου χαρτιού, ένα δημοφιλές μέσο αποθήκευσης δεδομένων μέχρι τις αρχές της δεκαετίας του 1980, με το να το χτυπάει σε όλες τις πιθανές θέσεις.

Πολλοί από τους χαρακτήρες ελέγχου του ASCII χρησιμεύουν για να σημαδεύουν δεδομένα πακέτων για να έλεγχο ενός πρωτόκολλου μετάδοσης δεδομένων (πχ ENQuiry-έρευνα που ερευνά αν υπάρχουν άλλοι υπολογιστές εκεί έξω, ACKnowledge-αναγνώριση,Αρχή επικεφαλίδας,Τέλος κειμένου κτλ. Οι χαρακτήρες ESCape-διαφυγή και SUBstitute-αντικατάσταση μπορούν να χρησιμοποιηθούν για να σημαδέψουν δυαδικά δεδομένα ώστε αν περιέχουν κώδικες που αντοιστιχούν σε χαρακτήρες ελέγχου πρωτοκόλλου να αγνοηθούν και να επεξεργαστούν σαν απλά δεδομένα.

Οι χαρακτήρες διαχώρισης(Record Separator, etc.) χρησιμοποιούνταν με το συστήμα με μαγνητικές ταινίες.


XON and XOFF are common interpretations of two of the Device Control characters and are generally used to throttle data flow to a slow device, such as a printer, from a fast device, such as a computer so data does not overrun and get lost.


Πρώιμοι χρήστες του ASCII υιοθέτησαν κάποιους από τους χαρακτήρες ελέγχου για να αναπαράστησουν μετά-πληροφορίες όπως end-of-line(τέλος γραμμής), start/end(αρχή/τέλος) ενός στοιχείου δεδομένων κτλ.Αυτές οι αναθέσεις νέας σημασίας στους χαρακτήρες ελέγχου συχνά αντικρούουν από σύστημα σε σύστημα.Πχ οι χαρακτήρες ελέγχου που αναπαριστούν το τέλος γραμμής διαφέρουν στα Unix συστήματα από τα windows .Έτσι προκειμένου να δείς ένα απλό αρχείο κείμενου ascii που έχει δημιουργηθεί σε πλατφόρμα unix μέσα σε περιβάλλον windows θα πρέπει το αρχείο να υποστεί κάποια ανάλογη μετατροπή,αλλιώς λόγω της διαφορετικάς αυτής ο επεξεργαστής κειμένου των windows δεν θα καταλάβει ότι πρέπει να αλλάξει γραμμή και ένα πχ κείμενο 100 γραμμών θα προσπαθήσει να το δείξει σε μια μόνο γραμμή!

Πηγη
Κώδικας:
http://el.wikipedia.org/wiki/ASCII