Depuis que la première personne a écrit 5318008 sur une calculatrice, les nerds cachent des numéros secrets à l'intérieur de votre PC et les utilisent négocier des poignées de main secrètes entre applications et fichiers. Voici quelques-uns des exemples les plus amusants:
La plupart des langages de programmation utilisent un type entier 32 bits pour représenter certains types de données en arrière-plan - en interne, le numéro est stocké en RAM ou utilisé par la CPU comme 32 uns et zéros, mais dans le code source, il serait écrit en format décimal régulier, ou en format hexadécimal, qui utilise les chiffres 0 à 9 et les lettres A à F.
Lorsque le système d'exploitation ou une application veut déterminer le type d'un fichier, il peut regarder au début du fichier un marqueur spécial qui indique le type du fichier. Par exemple, un fichier PDF peut commencer avec la valeur hexadécimale 0x255044462D312E33, qui est égale à "% PDF-1.3" au format ASCII, ou un fichier ZIP commençant par 0x504B, ce qui correspond à "PK", qui descend de l'utilitaire PKZip original. En regardant cette "signature", un type de fichier peut être facilement identifié même sans aucune autre méta-donnée
Les fichiers Java Class compilés commencent par CAFEBABE
Le "fichier" utilitaire Linux peut être utilisé depuis le terminal pour déterminer le type d'un fichier - en fait, il lit les nombres magiques à partir d'un fichier appelé "magie".
Lorsqu'une application veut appeler une fonction, elle peut passer des valeurs à cette fonction en utilisant des types standards comme entier, qui peut être exprimé le code source au format hexadécimal. Cela est particulièrement vrai pour les constantes, qui sont des identificateurs définis avec des noms lisibles par un humain, tels que AUTOSAVE_INTERVAL, mais ils correspondent à des valeurs entières réelles (ou d'autres types). Ainsi, au lieu d'un programmeur tapant une valeur comme 60 chaque fois qu'ils appellent la fonction dans le code source, ils pourraient utiliser la constante AUTOSAVE_INTERVAL pour une meilleure lisibilité. (Les constantes sont généralement facilement reconnaissables car elles sont écrites en majuscules.)
Tous ces exemples peuvent appartenir au terme Magic Numbers car ils peuvent nécessiter un nombre hexadécimal spécifique pour qu'une fonction ou un type de fichier fonctionne correctement. ... si la valeur n'est pas correcte, elle ne fonctionnera pas. Et quand un programmeur veut s'amuser un peu, ils peuvent définir ces valeurs en utilisant des nombres hexadécimaux qui épellent quelque chose en anglais, autrement dit hexspeak.
Chaque AppleScript se termine par FADEDEAD
Si vous jetez un coup d'œil dans le code source de Linux, vous verrez que l'appel système _reboot () sous Linux nécessite la transmission d'une variable "magic" qui équivaut au nombre hexadécimal 0xfee1dead. Si quelque chose tentait d'appeler cette fonction sans passer d'abord par cette valeur magique, elle retournerait simplement une erreur
. Le GUID (identifiant unique global) pour une partition de démarrage BIOS dans le schéma de partitionnement GPT est 21686148-6449-6E6F-744E -656564454649, qui constitue la chaîne ASCII "Hah! IdontNeedEFI", une allusion au fait que GPT serait normalement utilisé dans les ordinateurs qui ont remplacé le BIOS avec UEFI, mais il ne doit pas nécessairement être.
Microsoft célèbre caché 0x0B00B135 dans leur code source supportant la machine virtuelle Hyper-V soumise à Linux, ils ont changé la valeur en 0xB16B00B5, et finalement ils l'ont commutée en décimal avant qu'elle ne soit complètement supprimée du code source.
Plus d'exemples amusants:
Ce ne sont pas les seuls qui existent, bien sûr , mais juste une courte liste d'exemples qui semblaient amusants. En savoir plus? Dites-nous dans les commentaires.
Vous pouvez voir d'autres exemples en ouvrant un éditeur hexadécimal et en ouvrant un certain nombre de types de fichiers. Il existe de nombreux éditeurs hexadécimaux freeware disponibles pour Windows, OS X ou Linux - assurez-vous juste que vous êtes prudent lors de l'installation freeware pour ne pas être infecté par des logiciels espions ou crapware.
Comme exemple, des images de récupération pour les téléphones Android comme ClockworkMod commencez par "ANDROID!" si vous lisez au format ASCII.
Note: ne changez rien lorsque vous regardez autour de vous. Les éditeurs hexadécimaux peuvent casser des choses!
Pourquoi ne puis-je pas me connecter à des jeux LAN sur mon réseau domestique? Les jeux LAN
Cher How-To Geek, J'ai suivi votre guide de la série Minecraft avec beaucoup de succès, mais j'ai un peu d'un hoquet. Mon fils et moi l'avons traversé ensemble mais quand nous sommes arrivés aux leçons 14 et 15 (celles axées sur le multijoueur local et le multijoueur sur Internet), j'ai découvert que je ne pouvais pas me connecter à l'ordinateur de mon fils via le LAN.
Comment accélérer votre expérience Minecraft avec Minecraft Land Generator
Pendant que vous explorez votre univers Minecraft, le jeu consacre énormément de ressources à sa création autour de vous. Générer ces pièces à l'avance diminue considérablement la charge de ressources sur votre CPU tout en jouant le jeu, ce qui conduit à un jeu plus lisse avec moins de décalage. Continuez à lire pendant que nous vous montrons comment préremplir votre carte du monde pour un jeu plus rapide.