Χαρακτήρας διαφυγής

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

Στο sh, ο χαρακτήρας * είναι ένας χαρακτήρας μπαλαντέρ, που επεκτείνεται με globbing. Μόνος του επεκτείνεται στα ονόματα όλων των αρχείων στον τρέχοντα κατάλογο. Έτσι για να αναφερθείς κυριολεκτικά σε ένα π.χ. αρχείο με το όνομα * θα έπρεπε να πεις το κέλυφος να μην ερμηνεύσει το σύμβολο αστερίσκος με αυτόν τον τρόπο, κάτι το οποίο το κάνεις με το παραθέσεις πριν από αυτον τον χαρακτήρα της αντιπλαγίας (backslash) (\) -- αυτή διαφεύγει τον χαρακτήρα * :

Σύγκρινε

rm *
# σβήνει όλα τα αρχεία στον τρέχοντα κατάλογο
rm \*
# σβήνει το αρχείο που ονομάζεται  *

Γλώσσες προγραμματισμού

[Επεξεργασία | επεξεργασία κώδικα]

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

print "Nancy said "Hello World!" to the crowd.";

παράγει συντακτικό λάθος ενώ ο κώδικας:

print "Nancy said \"Hello World!\" to the crowd.";

παράγει την ζητούμενη έξοδο.

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

  • Σε αλφαβητικά σχήματα ή σχήματα κωδικοποίησης, ένας ειδικά σημειωμένος χαρακτήρας, η εμφάνιση του οποίου στα δεδομένα σημαίνει ότι ένας ή περισσότεροι από τους χαρακτήρες που ακολουθούν είναι από διαφορετικό κώδικα χαρακτήρων, δηλαδή έχουν διαφορετικό από το συνηθισμένο νόημα .
  • Σε μια ακολουθία χαρακτήρων που ελέγχουν κείμενο, ένας χαρακτήρας ελέγχου που υποδηλώνει την αρχή της ακολουθίας και το τέλος οποιουδήποτε κειμένου που προηγούνταν. Αυτό χρησιμοποιείται και στον έλεγχο των τερματικών κειμένου και εκτυπωτών. (δες ακολουθία διαφυγής).
  • Στην κωδικοποίηση χαρακτήρων ASCII, ο χαρακτήρας ESC με δεκαδικό κώδικα 27 και δεκαεξαδικό κώδικα 1B.

Μια πρώιμη αναφορά σε αυτόν τον όρο βρίσκουμε σε τεχνικές εκθέσεις της IBM του Bob Bemer

Το πλήκτρο διαφυγής(Escape) βρίσκεται συνήθως στα στάνταρ πληκτρολόγια των προσωπικών Η/Υ. Αλλά δεν υπάρχει συνήθως σε υπολογιστές χειρός και άλλες συσκευές που δεν εχουν σχεδιαστεί κυρίως για ASCII επικοινωνίες.

Εξωτερικοί σύνδεσμοι

[Επεξεργασία | επεξεργασία κώδικα]