如何从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);