2011-12-12 57 views
3

在java卡中,只使用小數據類型(字節和短)。 我想將字節轉換成簡短的,以便我可以使用它來檢查條件等。 當使用java卡中的類型轉換將byte轉換爲short時,它會給我一些其他負數。 請告訴我如何轉換(11111111),這是在單個字節存儲的簡短。在JavaCard中將字節轉換爲short

我使用:

  1. 智能卡類型=接觸卡
  2. 使用的Java Card 2.2.2
  3. 與JCOP使用APDU

回答

1

是不是Java卡語言簡單與Java相同?然後,你可以寫

shortvar = bytevar&0xFF;

+0

你非常接近。大多數java卡不支持int,因此需要添加一些簡寫:'shortvar =(short)(bytevar&(short)0xFF)'。 – Robert

+0

是的它的權利,你可以使用 –

+0

@Robert不需要內部轉換的值低於0xFF,雖然我做了一個短常量(例如'private static final short UNSIGNED_BYTE_MAX = 0xFF;') –

1

您可以使用javacard.framework.Util.makeShort(字節B1,B2字節)方法。

0

我知道你已經回答了,但據我所知,好的方法是使用javacard.framework.Util makeShort方法,當你給2個字節,它將返回短。