Hexspeak

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Η Hexspeak (κατά λέξη: δεκαεξαδική ομιλία) είναι μια καινοτόμος μέθοδος αγγλικής γραφής που χρησιμοποιείται ως αστείο αλλά και ως βοήθημα στην αποσφαλμάτωση προγραμμάτων ηλεκτρονικών υπολογιστών από προγραμματιστές. Χρησιμοποιεί τα ψηφία της δεκαεξαδικής σημείωσης αριθμών για να αναπαραστήσει οπτικά αγγλικές λέξεις.

Η δεκαεξαδική σημείωση χρησιμοποιείται συχνά στην επίδειξη ή μεταγράφει τις τιμές που αποθηκεύονται στη μνήμη υπολογιστών. Οι περισσότεροι αριθμοί, όταν επιδεικνύονται σε δεκαεξαδικό, είναι χωρίς ενδιαφέρον και δεν είναι ευδιάκριτοι. Μερικές φορές, εντούτοις, είναι επιθυμητός ένας αριθμός που θα είναι εύκολα αναγνωρίσιμος όταν επιδεικνύεται σε δεκαεξαδικό (για παράδειγμα, κατά τη διάρκεια της διόρθωσης, ή σε ένα αρχείο ημερολογίου) και ο οποίος είναι απίθανο να εμφανιστεί σε κανονική λειτουργία του προγράμματος. Το 0xFEEDFACE επιλέγεται μερικές φορές υπό αυτήν τη μορφή ως "αξία φρουρός" έτσι ώστε οι προγραμματιστές μπορούν να αναγνωρίσουν αυτήν την αξία κατά τη διάρκεια του προγραμματισμού ή της διόρθωσης. Δεν έχει καμία συγκεκριμένη έννοια, και ένας άλλος αναγνωρίσιμος αριθμός, όπως 0xABABABAB ή 0xCAFEFEED, θ' αρκούσε.

Δεδομένου ότι είναι απίθανο ότι οποιοσδήποτε δεδομένος τριανταδυάμπιτος ακέραιος αριθμός θα έπαιρνε αυτήν την συγκεκριμένη αξία (μια πιθανότητα από 2^32=4294967296), οι προγραμματιστές χρησιμοποιούν συχνά αυτήν την μαγική αξία για να ερευνήσουν τα κοινά λάθη όπως οι υπερχειλίσεις απομονωτών, ή οι μεταβλητές, κατά τη χρησιμοποίηση ενός διορθωτή. Για παράδειγμα, όποτε αυτή η αξία εμφανίζεται σε μια απόρριψη μνήμης, η θέση της είναι πιθανό να είναι ένα σημείο ενδιαφέρον για τον προγραμματιστή. Ένα άλλο παράδειγμα της πιθανής χρήσης του είναι να μονογραφηθούν οι διάφορες θέσεις μνήμης όπου τα προγράμματα δεν πρέπει να έχουν πρόσβαση, καθιστώντας το ευκολότερο να ανιχνεύσει την άκυρη εκτέλεση κώδικα.

Κάποιοι προγραμματιστές εκμεταλλεύτηκαν την χρήση γραμμάτων στην δεκαεξαδική σημείωση και με την χρήση του 0 (μηδέν) ως O (Όου) και του 1 ως l (Έλ) και i (Άι) και του 5 ως s (Ες) και του 7 ως t (Τι) και του 9 ως g (Τζι) επινόησαν διάφορες αναπαραστάσεις λέξεων ή ακολουθιών λέξεων ως αστεία.

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

Ο 0xFEEDFACE, ένας αριθμός που γράφεται στη δεκαεξαδική σημείωση με τη δεκαδική αξία 4277009102, και που διαβάζεται στα αγγλικά ως η λέξη "feed face" («τροφοκέφαλος»).

Άλλες hexspeak λέξεις:

  1. 0x50FFC001 - μαλακός δροσερός
  2. 0xA5A5A5A5 - τόσο τόσο όπως όπως
  3. 0xABABABAB
  4. 0xABADBABE
  5. 0xABADCAFE - ένας κακός καφές
  6. 0xAFABCAFE - ένας υπέροχος καφές
  7. 0xBAADF00D - κακά τρόφιμα
  8. 0xBADBADBADBAD - κακός κακός κακός κακός
  9. 0xBADC0FFEE0DDF00D - κακά περίεργα τρόφιμα καφέ
  10. 0xBADCAB1E - κακό καλώδιο
  11. 0xBEEFCAFE - καφές βόειου κρέατος
  12. 0xC0DEDBAD - κωδικοποιημένος κακός
  13. 0xCAFEBABE - Το πρότυπο εικονικής μηχανής της Java απαιτεί τα πρώτα 4 byte ενός αρχείου class να έχουν τιμή απρόσημου ακέραιου 0xCAFEBABE [1]
  14. 0xCAFECAFE - καφές καφέδων
  15. 0xCAFEFACE - καφεδοκέφαλος
  16. 0xCAFEFEED - τροφή καφέδων
  17. 0xCCCCCCCC
  18. 0xCDCDCDCD
  19. 0xCEFAEDFE
  20. 0xDDDDDDDD
  21. 0xDEADBABE
  22. 0xDEADBEEF - νεκρό βόειο κρέας
  23. 0xDEADBEEFCAFE - νεκρός καφές βόειου κρέατος
  24. 0xDEADCAFEBABE
  25. 0xDEADDEAD - απολύτως απολύτως
  26. 0xDEADF00D - νεκρά τρόφιμα
  27. 0xDECAFBAD - ντεκαφεϊνέ κακός
  28. 0xEBEBEBEB
  29. 0xFACADE - πρόσοψη
  30. 0xFADEDEAD - εξασθενίστε απολύτως
  31. 0xFDFDFDFD
  32. 0xFEE1DEAD - αισθανθείτε τους νεκρούς
  33. 0xFEEDBABEF00D
  34. 0xFEEDFACE - τροφοκέφαλος
  35. 0xFEEEFEEE

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

  1. Tim Lindholm, Frank Yellin. «The ClassFile Structure». The JavaTM Virtual Machine Specification, Second Edition (στα Αγγλικά). Ανακτήθηκε στις 14 Δεκεμβρίου 2007.