2017-01-12 3 views
1

Моя цель , чтобы преобразовать шестнадцатеричное значение, которое содержится в QString, в значение ASCII.Преобразование шестнадцатеричного значения QString в значение ASCII

у меня есть:

QString hexaValue = receiveText.left(14); // receive texte is another QString 

Моя проблема здесь в том, что у меня есть шестнадцатеричное значение в Qstring, а не в QByteArray, поэтому все решения, которые я нашел не работает, я пытаюсь позвонить .data() или fromHex(), но это не работает здесь, потому что я вынужден использовал QString и не QByteArray

Должен ли я конвертировать мой QString в QByteArray, есть простое решение?

ответ

2

Вы можете просто использовать QString::toLatin1 для преобразования шестнадцатеричной строки в QByteArray и преобразовать его обратно в QString использовать либо QString::fromLocal8Bit для локальной кодировки или QString::fromUtf8 если ваш шестнадцатеричном строка в UTF8.

QString hexaValue = receiveText.left(14); // received text is another QString 
QString textValue = QString::fromLocal8Bit(QByteArray::fromHex(hexaValue.toLatin1())); 
Смежные вопросы