如何从Java中的十进制整数中获取hex值?

我不知道如何从Java中的整数值生成hex“0x83”字符。

我需要一个“0x83”值来表示西里尔字母中的一个字母(这封信: ѓ ),以便将它(字母)发送到我的打印机。 使用我的转换器(下面)将131(十进制0x83)转换为hex时,我得到三个数字:0x31,0x33和0x31。

public String toHex(String arg) { return String.format("%x", new BigInteger(arg.getBytes())); } 

我需要从此转换中获得0x83。

如果您尝试将整数131转换为hex字符串,则可以尝试

 Integer.toHexString( 131 ) 

它将返回“83”作为字符串。

这是一个例子:

 String str = Integer.toHexString(131); System.out.println(str); 
 String cyrillic = Character.toString((char)0x83) 

您是否尝试过检出Java Integer API ? 以下是几个例子:

转换时我没有看到问题:

 System.out.println(Integer.toHexString(131)); 

返回83。

两种可能性,要么您的打印机需要0x83作为字节或字符串/字符

以字节发送:

 int Cyrillic_int = 131; byte Cyrillic = (byte) Cyrillic_int; 

或者发送一个0x83的字符串表示:

 int Cyrillic_int = 131; String Cyrillic = Integer.toHexString(131);