簡體   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