Les personnes qui utilisent UE trouveront très pratique d'afficher des fichiers en hexadécimal. Pourquoi pincer? Lorsque vous souhaitez crypter, transcoder et coder le fichier, un tas de 01 binaire apparaîtra et le regardera. Après tout, le fichier d'affichage hexadécimal est court et pratique. Au moins, j'ai appliqué la carte pendant l'examen d'entrée du lycée et l'examen d'entrée au collège. Bien sûr, ces chaussures pour enfants qui peuvent peindre 1248 dans l'examen d'entrée du collège et l'examen d'entrée au collège peuvent dire en un coup d'œil qu'ils n'auront certainement aucune chance d'être la profession "sacrée" des programmeurs ...
Parce que j'ai déjà essayé de participer au concours d'innovation de popularisation scientifique, j'ai fait Dongdong à ce moment-là, j'ai lu le fichier dans des flux d'octets et je l'ai converti en cordes binaires, quad et hexadécimales, puis je l'ai étendu à la console à la fois. Ensuite, selon la valeur de chaque bit, il est affiché dans une matrice de 2 couleurs, 4 couleurs et 16 couleurs respectivement. Le but de l'écriture est d'utiliser l'appareil photo pour l'identifier, puis de le restaurer dans un flux d'octets et de l'écrire dans le fichier. Cette conception de programme est le produit d'un hybride de deux faits douloureux - 1. Il ne nécessite aucun transfert de fichiers via un support et des dispositifs USB; 2. ZXing et QRCode ne peuvent parfois pas trouver le code QR (QRCode est plus sujet aux erreurs). Vous pouvez essayer cette question, utiliser une caméra ou un haut-parleur pour envoyer et recevoir des fichiers pour voir qui peut le transmettre rapidement.
Bien sûr, la partie la plus importante est que le flux d'octets du fichier est lu en 8 bits et affiché en deux hexadécimaux. Parce que vous pouvez rencontrer la situation où l'octet est converti en code INT et complément, il est préférable de l'unifier en un nombre positif en premier.
La copie de code est la suivante:
INT Result = Bytes & 0xFF;
Ne sous-estimez pas cette phrase, c'est en fait très intéressant. Pensez-y attentivement, si vous ajoutez un 0xff à Shenma et que cela devient un nombre positif? 0xff est 1, donc cela ne signifie pas qu'il n'y a pas de changement de fonctionnement? Humph, quelqu'un m'a déjà demandé cela. La plage d'octets est -128 ~ 127, pas 0 ~ 255, donc, les affectations comme l'octet b = -42;
Il n'est pas difficile de le faire et de le convertir en une chaîne à n chiffon. Si vous y pensez attentivement, y a-t-il une classe familière mais inconnue qui apporte directement cette fonction? C'est vrai, c'est juste en utilisant Integer! Mais ne vous inquiétez pas, avant de l'utiliser, vous devez faire quelques petits mouvements sur cet int.
La copie de code est la suivante:
(octets et 0xff) + 0x100
Savez-vous pourquoi? C'est +256, juste pour le voir plus intuitivement, il suffit d'ajouter un à l'avant. Parce que si l'int que vous obtenez est converti en chaîne, il est probable qu'il n'y ait qu'un bit, c'est-à-dire que si l'octet est perdu lorsque l'hexadécimal est converti en hexadécimal, alors l'ensemble du programme sera-t-il complètement déplacé? Pour être en sécurité, il vaut mieux unifier trois.
Vous pouvez essayer ceci pour voir toutes les sorties après que l'octet soit changé en hexadécimal
La copie de code est la suivante:
public static void main (String [] args) {
pour (int i = -128; i <128; i ++) {
octet b = (octet) i;
System.out.println (Integer.ToString ((B & 0xFF), 16));
}
}
Voir ceci, pensez-vous: pourquoi êtes-vous si stupide? Pourquoi le int dans la boucle pour le byte? Ok, tu peux l'essayer, je ne l'essayerai pas de toute façon ...
Ainsi, le code qui convertit enfin l'octet en hexadécimal deux bits est
La copie de code est la suivante:
Integer.ToString ((Bytes & 0xff) + 0x100, 16) .Substring (1);
Pour le binaire, le quad et l'octal, tous sont les mêmes, donc je ne donnerai pas d'exemple. Il est implémenté dans une seule phrase de code, c'est incroyable ...
Ensuite, utilisez le réseau matriciel pour afficher le fichier trame par image, utilisez l'appareil photo pour capturer la couleur de reconnaissance, puis convertir la chaîne et comment faire la couleur pour permettre à l'autre partie de savoir que la reconnaissance est terminée, puis remplacer l'image suivante. .. Ce cycle est jusqu'à ce que le réseau matriciel du fichier soit terminé. Je ne publierai pas cette partie du code, l'ensemble du processus peut être produit par Yy avec une riche imagination ...
Ensuite, la chaîne est retournée en flux d'octets, ce qui est simple à vivre
La copie de code est la suivante:
(octet) Integer.Parseint (String, 16)
Vous n'avez même pas besoin d'opérations de bits, produisez simplement les résultats, mettez-les dans un tableau d'octets et écrivez-les à plusieurs reprises avec l'écriture de FileOutputStream! N'oubliez pas de désactiver le flux d'entrée et de sortie