我不知道如何从Java中的整数值生成十六进制“0x83”字符。
我需要一个“0x83”值来表示西里尔字母中的一个字母(这封信:ѓ),以便将它(字母)发送到我的打印机。使用我的转换器(下面)将131(十进制0x83)转换为十六进制时,我得到三个数字:0x31,0x33和0x31。
public String toHex(String arg) {
return String.format("%x", new BigInteger(arg.getBytes()));
}
我需要从此转换中获得0x83。
答案 0 :(得分:40)
如果您尝试将整数131转换为十六进制字符串,可以尝试
Integer.toHexString( 131 )
它将返回“83”作为字符串。
答案 1 :(得分:12)
以下是一个例子:
String str = Integer.toHexString(131);
System.out.println(str);
答案 2 :(得分:2)
String cyrillic = Character.toString((char)0x83)
答案 3 :(得分:0)
您是否尝试过查看Java Integer API。这里有几个examples:
答案 4 :(得分:0)
转换时我没有看到问题:
System.out.println(Integer.toHexString(131));
返回83。
答案 5 :(得分:0)
两种可能性,您的打印机需要0x83作为字节或字符串/ char
以字节形式发送:
int Cyrillic_int = 131;
byte Cyrillic = (byte) Cyrillic_int;
或发送字符串表示0x83:
int Cyrillic_int = 131;
String Cyrillic = Integer.toHexString(131);