[Qt]QString to hex



  • Ich mochte einen Web2SMS-Service eines Anbieters benutzen um SMS-Nachrichten zu senden. Dafuer benutze ich die http api des Anbieters was auch in den meisten Faellen klappt. Um Nachrichten in Griechisch zu versenden musste ich die Nachricht in Hexadezimal konvertieren, d.h. vom einem String mit den griechischen Buchstaben "MNK" den String "039C039D039A" konvertieren. QString bietet keine toHex-Funktion. Ich koennte ein QByteArray und die Funktionen append und toHex benutzen, allerdings musste ich erst das Makro QT_NO_CAST_TO_ASCII definieren damit keine implizite Konvertierung erfolgt.

    Dazu meine Frage: Bietet Qt andere moeglichkeiten einen utf-16 String in Hexadezimal zu konvertieren ohne das obige Makro zu definieren, und wenn ja welche? Oder ist es einfacher mir so eine Funktion selber zu implementieren?

    Danke im Voraus



  • QString hexStr = QString("%1").arg(decStr, 0, 16);
    


  • Janjan schrieb:

    QString hexStr = QString("%1").arg(decStr, 0, 16);
    

    Und welche Überladung von QString::arg() soll das sein?



  • Wo ist das Problem, einfach

    QString s;
    s.toAscii().toHex();
    

    zu machen?


Anmelden zum Antworten