在Java中如何从十进制整数中获取十六进制值?

在Java中如何从十进制整数中获取十六进制值?,java,hex,int,Java,Hex,Int,我不知道如何从Java中的整数值生成十六进制“0x83”字符 我需要一个“0x83”值来表示西里尔字母表中的一个字母(此字母:ѓ),以便将其发送到打印机。当用我的转换器(下图)将131(十进制中的0x83)转换为十六进制时,我得到三个数字:0x31、0x33和0x31 public String toHex(String arg) { return String.format("%x", new BigInteger(arg.getBytes())); } 我需要从这个转换中得到0x8

我不知道如何从Java中的整数值生成十六进制“0x83”字符

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

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

我需要从这个转换中得到0x83

你有没有试着检查一下这个问题。这里有几个例子,这里有一个例子:

String str = Integer.toHexString(131);
System.out.println(str);

转换时,我看不出有问题:

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

返回83。

如果试图将整数131转换为十六进制字符串,可以尝试

Integer.toHexString( 131 )

它将以字符串形式返回“83”。

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

String cyrillic = Character.toString((char)0x83)
以字节形式发送:

int Cyrillic_int = 131; 
byte Cyrillic = (byte) Cyrillic_int;
或发送0x83的字符串表示形式:

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

你到底在做什么完全不清楚。听起来像是将字符串“131”转换为字节,这根本不是一回事。请显示示例代码。我发送的参数是整数,在加128后得到大于128=>131的值,然后进行转换,但它是错误的。因为我无法在eclipse中插入西里尔字母表并将.public String转换为hex(String arg){返回String.format(“%x”,new biginger(arg.getBytes());},那么这里的大多数答案是什么,即,
Integer.tohextstring
应该可以解决您的问题了!您声称“发送的参数为整数”,但您在注释中提供的代码采用的是字符串参数,而不是整数。请精确,否则将很难帮助您。public String to hex(String arg){return String.format(“%x”,new biginger(arg.getBytes());}我使用这个转换器…@Gogoo:-只需调试代码并观察arg.getBytes()行,它为每个数字生成ascii值,因此输出为31,33,31。我需要获取0x83。或者如何发送以及获取什么值0x83。因为(ѓ)我无法在我的程序中插入链接公共字符串到十六进制(字符串arg){返回字符串.format(“%x”,new biginger(arg.getBytes());}我使用这个转换器…@Gogoo你能试试
String.format(“%x”,Integer.parseInt(s))