java.lang.Object
javax.smartcardio.ResponseAPDU
- 所有已实现的接口:
-
Serializable
ISO/IEC 7816-4中定义的响应APDU。它由一个条件体和两个字节的尾部组成。此类不尝试验证APDU是否编码为语义有效的响应。
此类的实例是不可变的。通过字节数组传入或传出数据时,会执行防御性克隆。
- 自:
- 1.6
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
将指定对象与此响应APDU进行比较以检查是否相等。byte[]
getBytes()
返回此APDU中字节的副本。byte[]
getData()
返回响应体中数据字节的副本。int
getNr()
返回响应体中数据字节的数量(Nr),如果此APDU没有体,则返回0。int
getSW()
返回状态字节SW1和SW2的值作为单个状态字SW。int
getSW1()
返回状态字节SW1的值,范围在0到255之间。int
getSW2()
返回状态字节SW2的值,范围在0到255之间。int
hashCode()
返回此响应APDU的哈希码值。toString()
返回此响应APDU的字符串表示形式。
-
Constructor Details
-
ResponseAPDU
public ResponseAPDU(byte[] apdu) 从包含完整APDU内容(条件体和尾部)的字节数组构造ResponseAPDU。请注意,字节数组会被克隆以防止后续修改。
- 参数:
-
apdu
- 完整的响应APDU - 抛出:
-
NullPointerException
- 如果apdu为null -
IllegalArgumentException
- 如果apdu.length小于2
-
-
Method Details
-
getNr
public int getNr()返回响应体中数据字节的数量(Nr),如果此APDU没有体,则返回0。此调用等效于getData().length
。- 返回:
- 响应体中数据字节的数量,如果此APDU没有体,则返回0。
-
getData
public byte[] getData()返回响应体中数据字节的副本。如果此APDU没有体,则此方法返回长度为零的字节数组。- 返回:
- 响应体中数据字节的副本,如果此APDU没有体,则返回空字节数组。
-
getSW1
public int getSW1()返回状态字节SW1的值,范围在0到255之间。- 返回:
- 状态字节SW1的值,范围在0到255之间。
-
getSW2
public int getSW2()返回状态字节SW2的值,范围在0到255之间。- 返回:
- 状态字节SW2的值,范围在0到255之间。
-
getSW
public int getSW()返回状态字节SW1和SW2作为单个状态字SW的值。定义为(getSW1() << 8) | getSW2()
- 返回:
- 状态字SW的值。
-
getBytes
public byte[] getBytes()返回此APDU中字节的副本。- 返回:
- 此APDU中字节的副本。
-
toString
返回此响应APDU的字符串表示形式。 -
equals
将指定对象与此响应APDU进行比较以检查是否相等。如果给定对象也是ResponseAPDU并且其字节与此ResponseAPDU中的字节相同,则返回true。 -
hashCode
public int hashCode()返回此响应APDU的哈希码值。
-