【问题标题】:How to get a hex value from a decimal integer in Java?如何从 Java 中的十进制整数中获取十六进制值?
【发布时间】: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 参数,而不是整数。请准确,否则很难为您提供帮助。

标签: java hex int


【解决方案1】:

您是否尝试过查看Java Integer API。这里有几个examples:

【讨论】:

    【解决方案2】:

    这是一个例子:

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

    【讨论】:

    • public String toHex(String arg) { return String.format("%x", new BigInteger(arg.getBytes())); } 我用这个转换器...
    • @Gogoo :- 只需调试代码并观察 arg.getBytes() 行,它会为每个数字生成 ascii 值,因此输出为 31、33、31。
    • 我需要获取 0x83。或者如何发送以及获取 0x83 的值。因为(ѓ)我无法在我的程序中插入链接ascii.ca/cp1251.htm
    【解决方案3】:

    转换时我没有看到问题:

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

    返回 83。

    【讨论】:

    • public String toHex(String arg) { return String.format("%x", new BigInteger(arg.getBytes())); } 我用这个转换器...
    • @Gogoo 你可以试试String.format("%x", Integer.parseInt(s))
    【解决方案4】:

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

    Integer.toHexString( 131 )
    

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

    【讨论】:

      【解决方案5】:
      String cyrillic = Character.toString((char)0x83)
      

      【讨论】:

        【解决方案6】:

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

        作为字节发送:

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

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

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

        【讨论】:

          猜你喜欢
          • 2014-02-18
          • 2015-08-01
          • 1970-01-01
          • 2020-02-09
          • 2018-07-26
          • 2015-01-26
          • 2011-08-18
          相关资源
          最近更新 更多