在 JavaCard 中将字节转换为短字节
Posted
技术标签:
【中文标题】在 JavaCard 中将字节转换为短字节【英文标题】:Convert byte to short in JavaCard 【发布时间】:2011-12-12 12:12:30 【问题描述】:在 java 卡中只使用小数据类型(字节和短)。 我正在尝试将字节转换为短字节,以便我可以使用它来检查条件等。 当使用java卡中的类型转换将字节转换为short时,它会给我一些其他负数。 请告诉我如何将ff存储在单字节中的(11111111)转换为short。
我正在使用:
-
智能卡类型 = 联系人卡
使用java卡2.2.2
与 jcop 一起使用 apdu
【问题讨论】:
【参考方案1】:Java Card 语言不就和 Java 一样吗?然后就可以写了
shortvar = bytevar&0xFF;
【讨论】:
你很亲密。大多数 javaCard 不支持 int,因此必须添加一些转换为 short:shortvar = (short) (bytevar & (short) 0xFF)
.
@Robert 不需要将内部强制转换为短值 0xFF,尽管我将其设为短常量(例如 private static final short UNSIGNED_BYTE_MAX = 0xFF;
)【参考方案2】:
你可以使用 javacard.framework.Util.makeShort(byte b1, byte b2) 方法。
【讨论】:
【参考方案3】:我知道你已经有了答案,但据我所知,好的方法是使用 javacard.framework.Util makeShort 方法,当你给出 2 个字节时它会返回短。
【讨论】:
以上是关于在 JavaCard 中将字节转换为短字节的主要内容,如果未能解决你的问题,请参考以下文章