【发布时间】:2011-07-12 14:52:04
【问题描述】:
我不知道如何从 Java 中的整数值生成十六进制“0x83”字符。
我需要一个“0x83”值来表示西里尔字母中的一个字母(该字母:ѓ),以便将它(该字母)发送到我的打印机。当使用我的转换器(如下)将 131(十进制的 0x83)转换为十六进制时,我得到三个数字:0x31、0x33 和 0x31。
public String toHex(String arg) {
return String.format("%x", new BigInteger(arg.getBytes()));
}
我需要从这个转换中得到 0x83。
【问题讨论】:
-
完全不清楚你在做什么。听起来您正在将 string "131" 转换为字节,这根本不是一回事。请显示示例代码。
-
我发送的参数是整数,在添加 128 后得到大于 128 => 131 的值并转换但它错误。因为我无法在 Eclipse 中插入西里尔字母并进行转换。
-
public String toHex(String arg) { return String.format("%x", new BigInteger(arg.getBytes())); }
-
那么这里的大多数答案就是
Integer.toHexString应该可以解决您的问题! -
您声称您“发送整数参数”,但您在评论中提供的代码采用 string 参数,而不是整数。请准确,否则很难为您提供帮助。