【问题标题】:Convert byte to short in JavaCard在 JavaCard 中将字节转换为短字节
【发布时间】:2011-12-12 12:12:30
【问题描述】:

在 java 卡中只使用小数据类型(字节和短)。 我正在尝试将字节转换为短字节,以便我可以使用它来检查条件等。 当使用java卡中的类型转换将字节转换为short时,它会给我一些其他负数。 请告诉我如何将ff存储在单字节中的(11111111)转换为short。

我正在使用:

  1. 智能卡类型 = 联系人卡
  2. 使用java卡2.2.2
  3. 与 jcop 一起使用 apdu

【问题讨论】:

    标签: java byte short javacard


    【解决方案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 个字节时它会返回短。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-22
        • 1970-01-01
        • 2013-11-04
        • 1970-01-01
        • 2018-06-24
        相关资源
        最近更新 更多