Convert hexbyte to ASCII
-
Hi,
Is there any simple way in qt to change 1byte: 0x44 to 2bytes "44" ? I try like below but something is wrong:
QString MyClass::hexByte2ASCII(quint8 data) { quint8 data_hi = (data >> 4); quint8 data_lo = ((data & 0x0f)); QString value; value[0] = data_hi <= '9' ? data_hi + '0' : data_hi + '7'; value[1] = data_lo <= '9' ? data_lo + '0' : data_lo + '7'; return value; }
-
Hi,
Is there any simple way in qt to change 1byte: 0x44 to 2bytes "44" ? I try like below but something is wrong:
QString MyClass::hexByte2ASCII(quint8 data) { quint8 data_hi = (data >> 4); quint8 data_lo = ((data & 0x0f)); QString value; value[0] = data_hi <= '9' ? data_hi + '0' : data_hi + '7'; value[1] = data_lo <= '9' ? data_lo + '0' : data_lo + '7'; return value; }
@Damian7546 said in Convert hexbyte to ASCII:
I try like below but something is wrong:
Then fix it. You're accessing the 'value' QString at an invalid index since the QString is empty. Use QString operator +=(char)
-
@Christian-Ehrlicher thanks for response.
I found simpler way to achieve my functionality:
QString value = (QString::number(data, 16)).toUpper();