25QResponseApdu::QResponseApdu(
const QByteArray &response)
27 const auto view = qToByteArrayViewIgnoringNull(response);
28 if (view.size() < 2) {
32 const auto dataSize = view.size() - 2;
33 m_status = qFromBigEndian(qFromUnaligned<uint16_t>(view.data() + dataSize));
34 m_data = response.left(dataSize);
42 QByteArrayView data, uint16_t ne)
44 Q_ASSERT(data.size() <= 0xFFFF);
47 apdu.append(
static_cast<
char>(cla));
48 apdu.append(
static_cast<
char>(ins));
49 apdu.append(
static_cast<
char>(p1));
50 apdu.append(
static_cast<
char>(p2));
52 bool extendedLc =
false;
53 uint16_t nc = data.size();
57 apdu.append(
static_cast<
char>(nc));
61 apdu.append(
static_cast<
char>(nc >> 8));
62 apdu.append(
static_cast<
char>(nc & 0xFF));
69 apdu.append(
static_cast<
char>(ne));
70 }
else if (ne == 256) {
71 apdu.append(
static_cast<
char>(
'\0'));
75 apdu.append(
static_cast<
char>(ne >> 8));
76 apdu.append(
static_cast<
char>(ne & 0xFF));