Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Developer
Posts: 92
Registered: ‎08-01-2013
My Device: Z10, Q5, Q10
My Carrier: Vodaphone
Accepted Solution

QByteArray fromHex error.

Hi all, 

 

      i'm usin the fromHex function of QByteArray, it does work for small strings, but fails from large ones.

any body faced similar issue? 

 

Regards.

Retired
Posts: 418
Registered: ‎07-18-2012
My Device: Q10
My Carrier: Bell Canada

Re: QByteArray fromHex error.

Hi,

 

How big? I'll do some quick experiments... 

 

Do you have a sample?

 

Thanks.

--
Rob is no longer associated with BlackBerry.
Highlighted
Retired
Posts: 418
Registered: ‎07-18-2012
My Device: Q10
My Carrier: Bell Canada

Re: QByteArray fromHex error.

I see that a 20M byte array, converted to a 40M hex encoding works...

 

#include <QByteArray>
#include <QString>
#include <QDebug>

int main(int argc, char *argv[]) {
	QByteArray test;
	for (int i = 0; i < 20000000; ++i) {
		test.append(rand());
	}
	QByteArray asHex(test.toHex());
	QString useEvenMoreMemory(asHex);
	QByteArray back(QByteArray::fromHex(useEvenMoreMemory.toLocal8Bit()));

	if (test.length() != back.length()) {
		qDebug() << "Size problems...";
	} else {
		bool good = true;
		qDebug() << "Length match";
		for (int i = 0; good && i < test.length(); ++i) {
			if (test[i] != back[i]) {
				good = false;
			}
		}

		qDebug() << "Good" << good;
	}

	return 0;
}

 

--
Rob is no longer associated with BlackBerry.