En C, est-il possible de forcer un char non signé à imprimer en hexadécimal, pas avec% x, mais dans la petite case carrée qui affiche les quatre nombres hexadécimaux, mais qui ne prend qu'un seul caractère, par exemple 轩
?Impression de valeurs de caractères en hexadécimal à l'intérieur d'un carré de 1 caractère en C?
-4
A
Répondre
2
Non, ce n'est pas possible.
Ceci n'est pas lié à C, mais à la police utilisée par votre terminal. C sort les caractères en octets; votre terminal est responsable de choisir comment les afficher en pixels. (Vous pouvez aussi demander comment mettre le texte en italique.)
+0
Ok, eh bien, c'est malheureux. Je vous remercie. – gmoss
"dans la petite boîte carrée qui affiche les quatre nombres hexadécimaux, mais ne prend qu'un caractère" ... qu'est-ce que cela signifie? De quelle "petite boîte carrée" parlez-vous? Et non, l'exemple n'aide pas - comment cela est-il lié aux "quatre nombres hexadécimaux"? – kaylum
Eh bien, la "petite boîte" dans l'exemple que j'ai donné a quatre nombres hexadécimaux, "8F" dans la rangée du haut et "69" dans la rangée du bas. Chacun est un octet, donc il y a deux octets dedans. Par exemple, si vous faites 'unsigned char c = 0x1e; printf ("% c", c); 'le résultat sera une telle boîte avec" 00 "dans la rangée du haut et" 1E "dans la rangée du bas. Je veux forcer printf à le faire avec n'importe quel char non signé que je lance dessus. – gmoss
@klump Certains périphériques de sortie, lorsqu'ils sont confrontés à un caractère pour lequel il n'y a pas de glyphe dans la police actuelle, créeront un glyphe composé d'une case carrée contenant les chiffres hexadécimaux du code de caractère –