2011-12-12 84 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个字节,它将返回短。