繁体   English   中英

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

[英]How to get a hex value from a decimal integer in Java?

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

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

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

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

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

Integer.toHexString( 131 )

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

这是一个例子:

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

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

以字节发送:

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

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

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

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

转换时我没有看到问题:

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

返回83。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM