Je ne sais pas comment générer un caractère hexadécimal "0x83" à partir d'une valeur entière en Java.
J'ai besoin d'une valeur "0x83" pour représenter une lettre dans l'alphabet cyrillique (cette lettre: ѓ), afin de l'envoyer (la lettre) à mon imprimante. Lors de la conversion de 131 (0x83 en décimal) en hexadécimal avec mon convertisseur (ci-dessous), j'obtiens trois nombres: 0x31, 0x33 et 0x31.
public String toHex(String arg) {
return String.format("%x", new BigInteger(arg.getBytes()));
}
J'ai besoin d'obtenir 0x83 de cette conversion.
Si vous essayez de convertir un entier 131 en une chaîne hexadécimale, vous pouvez essayer
Integer.toHexString( 131 )
Il renverra "83" en tant que chaîne.
Voici un exemple:
String str = Integer.toHexString(131);
System.out.println(str);
String cyrillic = Character.toString((char)0x83)
Je ne vois aucun problème lors de la conversion:
System.out.println(Integer.toHexString(131));
renvoie 83.
Deux possibilités, votre imprimante a besoin de 0x83 comme octet ou comme chaîne/caractère
Envoyer en octet:
int Cyrillic_int = 131;
byte Cyrillic = (byte) Cyrillic_int;
Ou envoyez une représentation sous forme de chaîne de 0x83:
int Cyrillic_int = 131;
String Cyrillic = Integer.toHexString(131);
Avez-vous essayé de vérifier le Java Integer API . Voici quelques exemples: