在java卡中,只使用小数据类型(字节和短)。 我想将字节转换成简短的,以便我可以使用它来检查条件等。 当使用java卡中的类型转换将byte转换为short时,它会给我一些其他负数。 请告诉我如何转换(11111111),这是在单个字节存储的简短。在JavaCard中将字节转换为short
我使用:
- 智能卡类型=接触卡
- 使用的Java Card 2.2.2
- 与JCOP使用APDU
在java卡中,只使用小数据类型(字节和短)。 我想将字节转换成简短的,以便我可以使用它来检查条件等。 当使用java卡中的类型转换将byte转换为short时,它会给我一些其他负数。 请告诉我如何转换(11111111),这是在单个字节存储的简短。在JavaCard中将字节转换为short
我使用:
是不是Java卡语言简单与Java相同?然后,你可以写
shortvar = bytevar&0xFF;
您可以使用javacard.framework.Util.makeShort(字节B1,B2字节)方法。
我知道你已经回答了,但据我所知,好的方法是使用javacard.framework.Util makeShort方法,当你给2个字节,它将返回短。
你非常接近。大多数java卡不支持int,因此需要添加一些简写:'shortvar =(short)(bytevar&(short)0xFF)'。 – Robert
是的它的权利,你可以使用 –
@Robert不需要内部转换的值低于0xFF,虽然我做了一个短常量(例如'private static final short UNSIGNED_BYTE_MAX = 0xFF;') –